import asyncio
import aiohttp
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
url = 'http://example.com' # 替换为实际的URL
tasks = []
async with aiohttp.ClientSession() as session:
for _ in range(2000):
task = asyncio.create_task(fetch(session, url))
tasks.append(task)
responses = await asyncio.gather(*tasks)
# 这里可以处理返回的结果
print(f"Completed {len(responses)} requests")
# 运行异步主函数
if __name__ == '__main__':
asyncio.run(main())
asyncio
和 aiohttp
库来实现并发请求。asyncio
是 Python 的异步 I/O 框架,而 aiohttp
是一个支持异步 HTTP 请求的库。fetch
函数:这是一个异步函数,用于发送 GET 请求并获取响应内容。main
函数:这是主异步函数,负责创建会话、生成任务列表并执行这些任务。aiohttp.ClientSession()
创建一个会话对象,以复用连接,提高性能。asyncio.create_task
创建 2000 个任务,并将它们添加到任务列表中。await asyncio.gather(*tasks)
等待所有任务完成,并收集结果。asyncio.run(main())
来运行主异步函数。请注意,实际应用中需要根据目标服务器的负载能力和网络状况调整并发请求数量,以免对服务器造成过大压力。
上一篇:python re模块
下一篇:python脚本打包成exe文件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站