aiohttp:如何从 requests.get 检索 aiohttp 服务器中的数据(正文)

新手上路,请多包涵

您能否就以下方面提出建议?

localhost:8900 上有 aiohttp 服务器正在运行

当我从 python 发出类似(使用 python2 模块请求)的请求时

requests.get("http://127.0.01:8900/api/bgp/show-route",
             data={'topo':"switzerland",
                   'pop':"zrh",
                   'prefix':"1.1.1.1/32"})

并且在 aiohttp 服务器中定义了一条路由

app.router.add_route("GET", "/api/bgp/show-route", api_bgp_show_route)

正在处理

def api_bgp_show_route(request):
    pass

问题是:如何在服务器端检索请求的数据部分?意思 {'topo':"switzerland", 'pop':"zrh", 'prefix':"1.1.1.1/32"}

原文由 nskalis 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 788
2 个回答

data 部分是这样访问的

await request.json()

你可以在官方 aiohttp 文档 中找到这个

原文由 nskalis 发布,翻译遵循 CC BY-SA 3.0 许可协议

这取决于您希望数据的格式。

获取字符串:

 request.text()

获取字节:

 request.read()

要获取 JSON 字典(注意,如果数据格式错误,将抛出 json.decoder.JSONDecodeError!):

 request.json()

原文由 user2788368 发布,翻译遵循 CC BY-SA 4.0 许可协议

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