问题原因:
HTTPS通过TSLv1和TSLv1.2协议通信
JDK7默认是TSLv1,JDK8默认是TSLv1.2
假如服务端是TSLv1.2,客户端是TSLv1,访问就会出现 Remote host closed connection during handshake 异常
解决方法
方法一:
将JDK7升级为JDK8
方法二:
在发送请求前,先设置全局属性
System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");
方法三:
修改jre\lib\security\java.security文件,找到定义java安全属性crypto.policy这一行,取消该行注释来启用无限制
crypto.policy=unlimited