Search code examples
pythonaiohttp

Is there any way to use aiohttp client with socks proxy?


Looks like aiohttp.ProxyConnector doesn't support socks proxy. Is there any workaround for this? I would be grateful for any advice.


Solution

  • Have you tried aiosocks ?

    import asyncio
    import aiosocks
    from aiosocks.connector import SocksConnector
    
    conn = SocksConnector(proxy=aiosocks.Socks5Addr(PROXY_ADDRESS, PROXY_PORT), proxy_auth=None, remote_resolve=True)
    session = aiohttp.ClientSession(connector=conn)
    async with session.get('http://python.org') as resp:
        assert resp.status == 200