使用 ProxyConnector 的 aiohttp 连接池

aiohtttp connection pooling with ProxyConnector

我想知道是否有人知道如何使用 ProxyConnector 作为连接器使用 aiohttp 进行连接池?

文档提到如何使用 TcpConnector 或使用 Session class,但我似乎无法弄明白。

谢谢。

处理连接池的 ClientSession object 采用 connector 关键字参数:

class aiohttp.client.ClientSession(*, connector=None, loop=None, request_class=None, response_class=None, cookies=None, headers=None, auth=None)

如果没有给出 connector,默认情况下将使用 TCPConnector,但您可以只指定一个 ProxyConnector 实例,它将被使用。你可以在源码中看到这个逻辑:

class ClientSession:

    def __init__(self, *, connector=None, loop=None, request_class=None,
                 response_class=None, cookies=None, headers=None, auth=None):
        if loop is None:
            loop = asyncio.get_event_loop()
        self._loop = loop
        self.cookies = http.cookies.SimpleCookie()
        if connector is None:
            connector = aiohttp.TCPConnector(force_close=True, loop=loop)