我正在尝试在Ubuntu WSL环境中的Windows上开发Python FastAPI端点,但似乎无法从我的浏览器查看/访问它。奇怪的是,我几天前尝试过这种方法,它似乎可以正常工作,但是自从我在Powershell中使用curl似乎得到此错误后就一直没有起作用:
curl : Unable to connect to the remote server
At line:1 char:1
+ curl http://127.0.0.1:8000/
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
在任何浏览器中,我都会遇到一个错误,即找不到该服务器。
下面是一些示例代码:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {
"message": "Hello World"
}
然后运行uvicorn main:app --reload
来启动应用程序并尝试访问提供的端点。
如果这样的话,我的操作系统内部版本是19041.508。
有人知道我如何使它重新工作吗?我不知道这里可能出什么问题。
谢谢
答案 0 :(得分:0)
我刚刚在我的机器上进行了测试,它可以按预期工作。我正在Windows 10的19041.572版本上运行WSL2 Ubuntu 20.04。使用 localhost 指向文档中提到的正在运行的服务:WSL networking
答案 1 :(得分:0)
万一将来有人看到,我最终删除并重新创建了pipenv环境。最终使它开始工作。
答案 2 :(得分:0)
重新启动计算机有时可以解决奇怪的连接问题。我不知道为什么。我在拒绝安全连接的 fastapi 服务器上遇到了麻烦,尽管采取了各种措施,该服务器以前可以使用 curl 但不能在浏览器中使用。它会神秘地拒绝来自浏览器的任何连接。重新启动计算机并更新 VS Code,现在似乎一切正常。也许是 VS Code 的更新。