Python aiohttp:如何发出简单的http请求
我正在探索异步http请求的aiohttp aiohttp上的客户端快速启动建议将以下代码作为一个最简单的示例:Python aiohttp:如何发出简单的http请求,python,aiohttp,Python,Aiohttp,我正在探索异步http请求的aiohttp aiohttp上的客户端快速启动建议将以下代码作为一个最简单的示例: import aiohttp async with aiohttp.ClientSession() as session: async with session.get('http://httpbin.org/get') as resp: print(resp.status) print(await resp.text()) 对我来说,在py
import aiohttp
async with aiohttp.ClientSession() as session:
async with session.get('http://httpbin.org/get') as resp:
print(resp.status)
print(await resp.text())
对我来说,在python 3.6.5中,这会导致
与aiohttp.ClientSession()作为会话异步:
SyntaxError:无效语法
我是不是遗漏了什么
感谢您的帮助!多谢各位
编辑:
我在做测试。首先,我意识到我需要python 3.7。
所以我切换了,现在错误信息是:
与aiohttp.ClientSession()作为会话异步:
SyntaxError:异步函数外部的“async with”
问题不在于Python版本:aiohttp支持Python>=3.5.3,所以3.6.5是绝对好的。但请注意错误消息: SyntaxError:异步函数外部的“async with” 就是这样:只能在异步函数中使用
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中使它变得更友好了。@caliph顺便说一句,一些简短的完全可运行的示例可以在网站的索引页上找到