aiohttp:如何使简单的http请求

时间:2018-11-01 16:56:06

标签: python aiohttp

我正在探索aiohttp以获取异步http请求。

aiohttp website上的客户端快速入门建议将此代码作为最小示例:

a*a <= b

对我来说,在python 3.6.5上,这导致

  

使用aiohttp.ClientSession()作为会话进行异步:

     

SyntaxError:语法无效

我在这里想念东西吗?

感谢您的帮助!谢谢。

编辑:

我正在测试。首先,我意识到我需要python 3.7。 所以我切换了,现在错误消息是:

  

使用aiohttp.ClientSession()作为会话进行异步:

     

SyntaxError:异步功能之外的“与...异步”

1 个答案:

答案 0 :(得分:1)

问题不是由于Python版本引起的:aiohttp支持Python> = 3.5.3,因此3.6.5绝对可以。但是请注意错误消息:

  

SyntaxError:异步功能之外的“与...异步”

就是这样:您只能在异步函数内使用async with

import aiohttp
import asyncio

async def start():
    async with aiohttp.ClientSession() as session:
        async with session.get('http://httpbin.org/get') as resp:
            print(resp.status)
            print(await resp.text())


loop = asyncio.get_event_loop()
loop.run_until_complete(start())

该消息也适用于Python 3.5和3.6,它们只是使它在3.7中更友好