FastAPI(Python)为什么我收到“不支持的升级请求”。使用POST请求?

我在 Flask 和 FastAPI 上有类似的应用程序。当我使用 Flask 执行此 curl 请求时,没问题:

没有 TLS:

curl -X POST -H "Content-Type: application/json" -d '{"method": "account.auth"}' http://X.X.X.X:5050/

{"error":0,"result":{"token":"XXX"}}
curl -X POST -H "Content-Type: application/json" -d '{"method": "account.auth"}' http://X.X.X.X:5050/

{"error":0,"result":{"token":"XXX"}}

使用 TLS:

curl -X POST -H "Content-Type: application/json" -d '{"method": "account.auth"}' https://example.com:8443/api/

{"error":0,"result":{"token":"XXX"}}

!!!但是使用 FastAPI 我得到了另一个结果:

没有 TLS:

使用 TLS:

curl -X POST -H "Content-Type: application/json" -d '{"method": "account.auth"}' https://example.com:8443/api/

Unsupported upgrade request.

如何解决“不支持的升级请求”问题?还有,这是什么?Flask 正常使用它。

回答

同样的问题通常似乎是由不完整的uvicorn安装引起的,但通常与 websockets 相关。

此问题的解决方案可能uvicorn使用推荐的(由 FastAPI 提供的)附加功能重新安装:

python3 -m pip uninstall uvicorn
python3 -m pip install uvicorn[standard]


以上是FastAPI(Python)为什么我收到“不支持的升级请求”。使用POST请求?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>