其实这个问题很简单。因为对方网站是https协议的,需要ssl证书。httpclient不是浏览器,浏览器访问网站会有证书。
以下都是在windows下操作的,linux下也一样。
解决办法:以我的电脑为例
首先需要用浏览器手动下载ssl证书。 这个很简单。直接点击浏览器地址栏上的那个锁标志即可。
1. java 把证书都放在了 C:\Program Files\Java\jre1.8.0_191\lib\security 这个路径下的cacerts 文件里面。可以看到此时只有104k大小。
我们进入 下面这个路径,使用keypool工具 。
C:\Program Files\Java\jdk1.8.0_191\bin
2. 输入以下命令 keytool -import -aliias [证书名字] -keystore [cacerts路径] -file [证书地址] 即可。
keytool -import -alias zhu -keystore ../../jre1.8.0_191/lib/s
ecurity/cacerts -file C:\Users\dell\Desktop\zhu.cer
3. 接下来输入密钥口令:changeit ,即可成功导入。
4. 此时再看cacerts大小 ,105k,说明成功导入。
最后需要注意的是,证书是有时间限制的。记得看下时间,下次还是需要更新的。
删除原来的证书,更新新证书的方法:
keytool -list -keystore cacerts
keytool -delete -alias akazam_email -keystore cacerts
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts