javax.net.ssl.SSLException: Received fatal alert: protocol_version

原链接:https://www.cnblogs.com/sunny08/p/8038440.html

在java代码中,使用HttpClient爬取https页面时,遇到了这个bug:javax.net.ssl.SSLException: Received fatal alert: protocol_version

分析:TLSv1.2是http默认协议的增强版,增加了一些安全方面的特性:保护传输数据安全,防止被窃取和篡改。

解决:

SSLContext ctx = SSLContexts.custom().useProtocol("TLSv1.2").build();
HttpClient  httpClient = HttpClientBuilder.create().setSslcontext(ctx).build();

 参考链接:

1)stackoverflow上的分析:

https://stackoverflow.com/questions/31684855/java-ssl-exception-protocol-version-when-trying-to-use-httpclient-to-log-into-a

2)标准的http协议名称:

https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SSLContext

3)https站点强制通信协议TLSv1.2

 http://m.blog.csdn.net/fred_lzy/article/details/74178023

猜你喜欢

转载自blog.csdn.net/baidu_33320352/article/details/87971330