有没有办法让每个 URL 都有自己的会话?我阅读了 Github 上的 aiohttp 文档,但我找不到这是否可行。我知道可以使用请求,但不确定如何使用 aiohttp。感谢任何帮助,因为我无法找到答案。sites = ['http://example.com/api/1', 'http://example.com/api/2']async def fetch(session, site): print('Fetching: ' + site) async with session.get(site) as response: return await response.text()async def main(): t = [] async with aiohttp.ClientSession() as session: for site in sites: task = asyncio.create_task(fetch(session, site)) t.append(task) await asyncio.gather(*t)
1 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
有没有办法让每个 URL 都有自己的会话?
是的,只需fetch将会话创建移动到协程中:
async def fetch(site):
print('Fetching: ' + site)
async with aiohttp.ClientSession() as session, \
session.get(site) as response:
return await response.text()
async def main():
t = []
for site in sites:
task = asyncio.create_task(fetch(site))
t.append(task)
await asyncio.gather(*t)
添加回答
举报
0/150
提交
取消