运行aiohttp.web时,请求的url无法访问

根据aiohttp提供的官方文档,自己尝试了一下官方提供的代码:

# main.py
from aiohttp import web

async def index(request):
    return Response(text='hello')
    
app = web.Application()
app.add_routes([web.get('/', index)])
web.run_app(app)

运行这个py文件后,根据提示进入“http://localhost:8080”,然而网页提示“无法访问此网站”,我是在win10系统下运行。请问这是什么原因?

阅读 3k
1 个回答
  1. 先查看8080端口是否被其它程序占用.
  2. 检查一下是否使用代理, 代理可能更改了连接配置.
  3. 再查看 localhost 是否被修改, 即查看C:\Windows\System32\drivers\etc\hosts 是否将 localhost 指向其它地址, 比如当 localhosts 被指向 https://baidu.com, 那么访问 lo访问calhost:8080 其实是https://baidu.com:8080, 不过通常 localhost 是由 DNS 解析, 不太可能是问题原因.
  4. 试试127.0.0.1:8080是否可以访问, 注意0.0.0.0:8080在 windows 上不能访问 aiohttp 的客户端.
  5. 注意return Response(text='hello')中的Response未定义, 可以:
from aiohttp.web import Response

但是这应该不是问题的原因, 这只会导致一个500 Internal Server Error:

clipboard.png

如果以上方法均无效, 只能希望其他哥们能帮帮忙了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题