jdk1.8 okhttp SSL peer shut down incorrectly Remote host

在爬取一个网站的时候,总是抛出这样的异常。网上绝大部解决办法是忽略ssl证书,因为一般在验证证书的时候会出现这个问题。但是我已经忽略证书。
环境:jdk1.8.0_221 okhttp

目前已知的可能照成该问题有3种情况
1.访问的网站证书错误,需要对证书进行忽略。
可参考:okhttp3.0忽略https证书
java 忽略SSL证书

2.访问的网站使用TLSv1.2协议,但是jdk1.7默认为TLSv1.1。因为协议版本导致的问题。
可参考:解决jdk1.7 不支持TLS1.2的问题

3.加密方式。在jdk1.8 或者1.7中,其实已经禁用了一部分加密算法,但是某些古老的网站,确实还在使用旧的算法,这个时候就需要手工对其放开。我遇到的其实就是此种情况。

如果chrome可以打开,先通过chrome查看连接的信息
在这里插入图片描述

其中Cipher就是对应的加密算法,查看jdk1.8禁用算法列表
路径:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/security/java.security
搜索jdk.tls.disabledAlgorithms

在这里插入图片描述
如果需要禁用某些算法也可以在其中加入,如果发现需要访问的算法,删除即可。

如果使用okhttp依旧存在问题,可参考:
okhttpERRServer chose TLSv1, but that protocol version is not enabled or not supported by the client

其他:
1.如果需要导入证书,可以把证书放到/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/security/路径下。
2.排查此类问题,可以加入java参数打印连接的详细信息。

-Djavax.net.debug=all
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值