Error: write EPROTO 34557064:error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER

Error: write EPROTO 34557064:error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER:../../third_party/boringssl/src/ssl/tls_record.cc:242:

The issue was that I was trying to POST to https when that API actually only supports HTTP. Just leave this as a note for other folks who might run into the same issue.

Any Help can be appreciated

155641 次浏览

当您使用 Https而不是 译注:时,就会出现这种类型的问题。

例子: https://localhost:3000/posts

改成: http://localhost:3000/posts

当我们访问的 API 在 http 上运行并且我们正在尝试使用 https 时,就会出现这个错误。信息真的很有用。

例如: 使用此 https://localhost:8092/customers 时,必须使用此 http://localhost:8092/customers 作为在 http 上运行的 API。

我在尝试在邮递员上测试 api 请求时遇到了这个错误。确保开发过程中指定的 URL 链接与测试邮递员时使用的 URL 链接相同。

示例: 在开发期间,指定的 URL 链接是 http://_ 然后,在测试邮递员时确保链接是相同的 http://

来自 HTTP://和 Https://的 API 请求被区别对待和处理。

我在 Postman 中遇到过这个问题,当时我试图命中一个在工作之前的 API 端点。

在我的例子中,这是一个我之前手动设置的 Header,需要删除的是 被遗忘了

标题: 主机

它的值通常是 <calculated when request is sent>,但我给了它一个自定义值。

error-write-eproto-34557064error100000f7ssl-routinesopenssl-internalwrong


https://localhost:5000/users

将 HTTPS 替换为 HTTP

对于那些仍在苦苦挣扎的人,我有另一个解决方案,可以去掉路线上的尾巴“/”,例如:

@app.get("/api/book/{id}/info/")

改为:

@app.get("/api/book/{id}/info")

在我的例子中,请求是一个重定向 302,在这种情况下,我禁用了 Postman 设置上的 Automatically follow redirects 设定

当我通过邮递员访问其他 API 时,也得到了相同的错误。

Https//:localhost:8662/hello

我们可以使用 HTTP//:localhost:8662/hello代替 HTTPS

现在会成功的。

HTTPS-它是 HTTP 的高级版本。这属于 SSL 协议,意味着安全性。HTTPS 对数据进行加密,因此当我们传递信用卡交易等敏感信息时,可以使用 HTTPS,因为它对数据进行加密。