FastAPI本地访问异常:访问http://127.0.0.1:8000/持续加载无响应
解决FastAPI页面加载无响应问题
首先你的代码存在缩进错误,Python对缩进敏感,if __name__ == "__main__":块内的代码没有正确换行缩进,会导致uvicorn启动逻辑无法正常执行,甚至触发语法错误。修正后的代码如下:
from fastapi import FastAPI app = FastAPI() @app.get("/") def first_api(): return 'Hello World' if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)
如果修正缩进后问题仍存在,按以下步骤排查:
检查端口占用:
Windows终端执行:netstat -ano | findstr :8000
Linux/macOS终端执行:lsof -i :8000
若输出显示有其他进程占用8000端口,可杀掉对应进程,或修改代码中的端口号(比如改成8001)后重新启动。用uvicorn命令直接启动:
跳转到代码所在目录,终端执行:uvicorn main:app --host 0.0.0.0 --port 8000(假设代码文件名为main.py),观察终端是否有报错信息,比如模块找不到、端口无法绑定等。排除浏览器问题:
用curl命令测试响应:curl http://127.0.0.1:8000/,如果能返回"Hello World",说明服务正常,问题出在浏览器本身,可尝试清空缓存、切换隐私窗口或更换其他浏览器。验证服务监听状态:
启动服务后,用netstat -ano | findstr :8000(Windows)或ss -tulpn | grep 8000(Linux)查看是否有0.0.0.0:8000的监听记录,确认服务确实在正常监听端口。
内容的提问来源于stack exchange,提问作者Godswill Amos
相关产品推荐
相关产品推荐

