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
- URL url = new URL("http://www.baidu.com");
- HttpURLConnection conn = (HttpURLConnection)url.openConnection();
- conn.setRequestMethod("GET");
- String cookie = conn.getHeaderField("set-cookie");
- System.out.println(cookie);