【发布时间】:2021-05-08 12:57:24
【问题描述】:
所以我正在尝试向我的 Flask 应用程序发送 HTTPS 请求。以前,它只使用 HTTP 就成功地工作了。现在,我想将其更改为 HTTPS。
但不幸的是它不起作用。在我的 Java IDE 和 Python IDE 中,出现以下错误:
javax.net.ssl.SSLException: 不受支持或无法识别的 SSL 消息(Java 客户端)
代码 400,消息错误请求版本 ("\x1bè\x13\x16)... 和 ", ~ˆòÎ×ý›tYê >ôeïõ?2ŸÏËðÚü$ü^d ‰ô$NªO5~EN4ë=Y8õûb~ïÁ¢˜è) bÀ,À+Ì©À0̨À/ ŸÌª £ ž ¢À $À(À#À' kjg @À.À2--À1À&ÀÀ%-)À" HTTPStatus.BAD_REQUEST*(Flask 服务器端)
我发送请求的代码是:
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_context='adhoc'。现在我得到一个不同的例外:
javax.net.ssl.SSLHandshakeException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到所请求目标的有效证书路径
【问题讨论】:
-
也许您将方案更改为
https,但保留了http端口?
标签: java ssl flask https sslhandshakeexception