文章

关于JSoup如何解决Received fatal alert: handshake_failure异常与Unsupported major.minor version XXX的异常

本文详细解析了HTTPS握手异常(Received fatal alert: handshake_failure)与Unsupported major.minor version错误的原因,主要由JDK版本过低或编译与运行JDK版本不一致引起。提供了升级JDK版本及调整Eclipse项目配置的解决方案。

关于JSoup如何解决Received fatal alert: handshake_failure异常与Unsupported major.minor version XXX的异常

文章信息

  • 原文链接:https://jiayq.blog.csdn.net/article/details/84345022
  • 发布时间:2018-11-22 17:20:43
  • 阅读量:2
  • 分类:java专栏收录该内容, 订阅专栏
  • 标签:#JSoup异常, #Received fatal alert: handshake_fai, #Unsupported major.minor version 52., #jdk版本, #切换库文件

摘要

文章浏览阅读2.4k次。本文详细解析了HTTPS握手异常(Received fatal alert: handshake_failure)与Unsupported major.minor version错误的原因,主要由JDK版本过低或编译与运行JDK版本不一致引起。提供了升级JDK版本及调整Eclipse项目配置的解决方案。


https握手异常与jdk版本异常

  • 1.Received fatal alert: handshake_failure
  • 2.Unsupported major.minor version XXX

1.Received fatal alert: handshake_failure

描述:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
	at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
	at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1837)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1019)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1203)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1230)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1214)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
	at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:449)
	at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:434)
	at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:181)
	at org.jsoup.helper.HttpConnection.get(HttpConnection.java:170)

原因:
jdk的版本太低,或者jvm的版本太低,只能发送ssl1的请求,但是响应的是ssl2或者更高版本的响应,导致ssl握手失败。
解决方案:
增加jdk的版本(最简单),如果非要用低版本,网上也有解决的方案。
步骤:(eclipse)
在这里插入图片描述
右键->build path->configure build path
在这里插入图片描述
Add Library
在这里插入图片描述
next
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
或者不用选择:
在这里插入图片描述
在这里插入图片描述
不删除也可以
但有可能引起混乱
在这里插入图片描述

2.Unsupported major.minor version XXX

原因:编译jdk版本与运行的jdk版本不一致
右键->build path->configure build path
在这里插入图片描述
在这里插入图片描述
然后一直确定就可以,最后会重新编译项目。

本文由作者按照 CC BY 4.0 进行授权