Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/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->;Flask Https请求:javax.net.ssl.SSLHandshakeException:PKIX路径生成失败_Java_Ssl_Flask_Https_Sslhandshakeexception - Fatal编程技术网

Java->;Flask Https请求:javax.net.ssl.SSLHandshakeException:PKIX路径生成失败

Java->;Flask Https请求:javax.net.ssl.SSLHandshakeException:PKIX路径生成失败,java,ssl,flask,https,sslhandshakeexception,Java,Ssl,Flask,Https,Sslhandshakeexception,因此,我正在尝试向我的Flask应用程序发送HTTPS请求。以前,它仅使用HTTP就可以成功地工作。现在,我想把它改成HTTPS 但不幸的是,它不起作用。在我的Java IDE和Python IDE中,我遇到以下错误: javax.net.ssl.SSLException:不支持或无法识别的ssl消息(Java客户端) 代码400,消息错误请求版本(“\x1bè\x13\x16”)。和 本月20日本月20日日本月20日日本月20日日本本月日本月日本本月日本月日本本月日本月日本月日本月日本月日本月

因此,我正在尝试向我的Flask应用程序发送HTTPS请求。以前,它仅使用HTTP就可以成功地工作。现在,我想把它改成HTTPS

但不幸的是,它不起作用。在我的Java IDE和Python IDE中,我遇到以下错误:

javax.net.ssl.SSLException:不支持或无法识别的ssl消息(Java客户端)

代码400,消息错误请求版本(“\x1bè\x13\x16”)。和 本月20日本月20日日本月20日日本月20日日本本月日本月日本本月日本月日本本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日,本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本月日本本月日本月本月本月日本月日本本本月日本月日本本本月日本月日本月À“HTTPStatus.BAD_请求*(服务器端)

我发送请求的代码是:

URL myURL = new URL(requestUrl);
HttpsURLConnection connection = (HttpsURLConnection) myURL.openConnection();
connection.setRequestMethod("GET");
System.out.println(connection.getResponseCode());
...
基本上,我只是将我的连接对象更改为Https,并将URL字符串改为使用“Https”。它在HTTP中工作得非常好,而现在,Https没有任何功能

我必须做什么才能让它与HTTPS一起工作


编辑:在我的Flask应用程序中,我更改了
app.run
以包括参数
ssl\u context='adhoc'
。现在我得到一个不同的异常:


javax.net.ssl.SSLHandshakeException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

ssl\u context='adhoc'
是正确的方法

这将生成一个自定义SSL证书,您可以通过https访问Flask应用程序

但是

由于此证书是自签名的,因此您的客户端(浏览器、curl或Java应用程序)不信任该证书

这就是为什么会收到错误消息

查看以下博文,了解更多您可以做的事情:


也许您将方案更改为
https
,但保留了
http
端口?