使用async with语句和Session对象来发起异步请求。具体代码如下:
import asyncio
import aiohttp
async def get_data(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
data = await response.json()
return data
async def main():
url = 'https://example.com/api/data'
data = await get_data(url)
print(data)
if __name__ == '__main__':
asyncio.run(main())
在上面的代码中,我们使用了ClientSession和async with语句来发起请求。async with语句可以自动处理资源管理和显式的关闭。在使用异步请求时,使用async with是一个好习惯。
在主函数中,我们只需要用await调用get_data函数,就可以异步获取数据并打印到控制台上了。