如何在客户端使用 aiohttp 设置每秒最大请求数(限制它们)?
最佳答案
虽然每秒的请求数量并不完全是一个限制,但请注意,从 v2.0 开始,当使用 ClientSession
, aiohttp
自动将同时连接数限制为 100。
您可以通过创建自己的TCPConnector
来修改限制。并将其传递给 ClientSession
。例如,要创建一个限制为 50 个并发请求的客户端:
import aiohttp
connector = aiohttp.TCPConnector(limit=50)
client = aiohttp.ClientSession(connector=connector)
如果它更适合您的用例,还有一个 limit_per_host
参数(默认为关闭),您可以传递该参数以限制同时连接到同一“端点”的数量.根据文档:
limit_per_host
(int
) – limit for simultaneous connections to the same endpoint. Endpoints are the same if they are have equal(host, port, is_ssl)
triple.
示例用法:
import aiohttp
connector = aiohttp.TCPConnector(limit_per_host=50)
client = aiohttp.ClientSession(connector=connector)
关于python - aiohttp:设置每秒最大请求数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35196974/