可以通过设置aiohttp.ClientTimeout对象来控制超时的时间。使用with语句和async with语句管理客户端会话,aiohttp库将自动在退出上下文时关闭会话。
代码示例:
import asyncio
import aiohttp
async def fetch(url):
async with aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=10)) as session:
async with session.get(url) as response:
return await response.text()
async def main():
url = 'https://httpbin.org/get'
res = await fetch(url)
print(res)
asyncio.run(main())
在上面的代码中,我们定义了fetch函数来获取url的响应。在函数中使用async with语句来管理客户端会话。我们通过设置timeout参数来控制超时的时间,在这里设置为10秒。当会话超时时,aiohttp库将自动关闭会话。
在我们的主函数main中,我们调用fetch函数并打印响应文本。最后,我们使用asyncio.run()来运行主函数。