Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java I';我在一个简单的Web应用程序中遇到了一个SSL握手致命错误_Java_Ssl - Fatal编程技术网

Java I';我在一个简单的Web应用程序中遇到了一个SSL握手致命错误

Java I';我在一个简单的Web应用程序中遇到了一个SSL握手致命错误,java,ssl,Java,Ssl,我只是在学习Java;请容忍我目前缺乏知识。我正试图编写一个程序,从各种网站上搜集公开可用的数据。我正在使用一个简单的Java类来开始这个web刮板的开发(参见下面的SimpleWebScraper类)。该类对于某些站点(例如)运行良好,但其他站点(例如)返回SSL握手致命警报(见下文) 我在macOS V10.14.6、Java SE运行时环境(build 1.7.0_51-b13)、Java HotSpot 64位服务器VM(build 24.51-b03,混合模式)上运行,并使用Intel

我只是在学习Java;请容忍我目前缺乏知识。我正试图编写一个程序,从各种网站上搜集公开可用的数据。我正在使用一个简单的Java类来开始这个web刮板的开发(参见下面的SimpleWebScraper类)。该类对于某些站点(例如)运行良好,但其他站点(例如)返回SSL握手致命警报(见下文)

我在macOS V10.14.6、Java SE运行时环境(build 1.7.0_51-b13)、Java HotSpot 64位服务器VM(build 24.51-b03,混合模式)上运行,并使用IntelliJ IDEA 2019.2社区版(运行时版本11.0.3+12-b304.10 x86_64)

您能否建议我对此代码或我的操作环境进行更改,以解决此致命警报消息

提前感谢你的帮助

简易刮网器:

import java.io.IOException;
导入org.jsoup.jsoup;
导入org.jsoup.nodes.Document;
公共类SimpleWebScraper{
公共静态void main(字符串[]args)
{
//确定传递给程序的命令行参数数。。。
int numberOfCommandLineArguments=args.length;
if(numberOfCommandLineArguments<1){
System.out.println(“\n您未能在命令行中包含要删除的网站的URL。\n”);
}否则{
//初始化包含我们要刮取的网站的URL的字符串
字符串webSiteURL=args[0];
System.out.printf(“\n尝试从URL检索标题:%s\n”,网站URL);
试一试{
//创建文档对象并使用JSoup获取网站
Document webSiteDocument=Jsoup.connect(webSiteURL.get();
//使用JSoup的title()方法获取标题
System.out.printf(“\t标题:%s\n\n”,webSiteDocument.title());
//如果出现任何IO错误,我们希望将消息写入控制台
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
}
致命警报消息:

尝试从URL检索标题:https://forum.mrmoneymustache.com/ask-a-mustachian/
javax.net.ssl.SSLHandshakeException:收到致命警报:握手失败
位于sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
位于sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
位于sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
位于sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
位于sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
位于sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
位于sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
位于sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
位于sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
位于sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
位于org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:746)
位于org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:722)
位于org.jsoup.helper.HttpConnection.execute(HttpConnection.java:306)
位于org.jsoup.helper.HttpConnection.get(HttpConnection.java:295)
在SimpleWebScraper.main(SimpleWebScraper.java:22)
进程已完成,退出代码为0

我将JDK更新为v1.8,更改了所需的macOS环境变量以指向JDK的v1.8,并设置IntelliJ IDEA的参数以使用v1.8 JDK。总之,这些更改消除了错误消息,我在问题中包含的代码现在可以按设计使用了。:-)