HttpURLConnection连接https测试

1 对于URLConnection深入理解

HttpURLConnection 是 URLConnection 的子类

普通的 URLConnection 可以发送 URL 请求返回 字节流

如果 POST 请求 只需要设置 POST

然后在 Connection.wirte 中写入参数即可

2 如果是HTTPS请求

需要在开头加入这两行

//serverkeys是通过keytool生成的自己的证书
System.setProperty("javax.net.ssl.trustStore", "F:/nb/open/loginAgency/keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "bendanguoji");

客户端连接参数说明

javax.net.ssl.trustStore 对应 keystoreFile

javax.net.ssl.trustStorePassword 对应 keystorePass

服务端配置说明

Tomcat server.xml 文件配置如下

3 报错:the trustAnchors parameter must be non-empty

解决:

http://www.showyounger.com/show/101520.html

注意 javax.net.ssl.trustStore 要写密钥的全路径 F:/nb/open/loginAgency/keystore

原因 浏览器再通过与证书绑定的域名访问 url 资源的时候,会将证书下载到客户端本地

如果用 java 通过 https 请求连接服务器,需要在客户端加载证书

4 如何通过返回的response获取服务端创建的Cookie

  1. URL url = new URL("http://www.baidu.com");   
  2. HttpURLConnection conn = (HttpURLConnection)url.openConnection();   
  3. conn.setRequestMethod("GET");   
  4. String cookie = conn.getHeaderField("set-cookie");   
  5. System.out.println(cookie);  
  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓