背景:一般出现在JDK7以及以下的版本客户端,https协议调用第三方应用报错。
可以通过https://myssl.com/检测当前第三方api服务支持的版本。
升级JDK8即可(比较靠谱),如果短时间无法升级,可通过运行JVM参数、系统变量等方式指定TLS为1.2(该方式可能无效),例如OKHttpClient如下:
ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS) .tlsVersions(TlsVersion.TLS_1_2) .cipherSuites( CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256) .build(); OkHttpClient client = ... client.setConnectionSpecs(Collections.singletonList(spec));
相关推荐
解决webMagic0.7.3 出现javax.net.ssl.SSLException: Received fatal alert: protocol_version的问题-附件资源
WebMagic是一个开源的Java实现的网络爬虫框架,它的核心设计目标是轻量级、模块化,便于扩展和定制。0.7.3版本是WebMagic的一个稳定版本,据描述在实际项目中得到了良好的应用,没有发现明显的错误,这表明其在稳定...
HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP的安全协议,它通过SSL/TLS(Secure Sockets Layer/Transport Layer Security)来加密通信,以确保数据传输的安全性。然而,对于Android 5.0以下的设备,...
解决webMagic0.7.3 出现javax.net.ssl.SSLException: Received fatal alert: protocol_version的问题
us.codecraft.webmagic 爬虫 javax.net.ssl.SSLException: Received fatal alert: protocol_version错误 替换jar包webmagic-core-0.7.3.jar