aiohttp dokumentuje podporu HTTP proxy prostřednictvím možností požadavku. Koncový bod SOCKS potřebuje implementaci, která mluví SOCKS. Změna portu URL proxy na 1080 tuto implementaci nezajistí.

Uvnitř async funkce použijte konektor, který poskytuje udržovaný projekt aiohttp-socks:

import aiohttp
from aiohttp_socks import ProxyConnector

connector = ProxyConnector.from_url('socks5://203.0.113.10:1080')
async with aiohttp.ClientSession(connector=connector) as session:
    async with session.get('https://example.com/') as response:
        body = await response.read()

To předpokládá, že balíček konektoru je již dostupný a kompatibilní s verzí aiohttp v aplikaci. Koncový bod je ilustrativní; seznam proxy SOCKS5 nabízí veřejné kandidáty pro URL konektoru. Pro skutečnou zátěž nastavte zásady časového limitu a velikosti odpovědi.

Staré odpovědi odkazují na různé balíčky a názvy konektorů: aiosocks, aiosocksy a aiohttp-socks nejsou zaměnitelné cesty importu. Přečtěte si požadavky a příklad pro balíček, který se skutečně používá. Kombinace třídy jednoho projektu s argumenty jiného může selhat ještě před pokusem o připojení k proxy.

Držte konektor a životnost relace pohromadě a tam, kde na tom záleží, zkontrolujte chování překladu názvů hostitelů. Předání URL SOCKS nesouvisející možnosti HTTP proxy nenahrazuje dokumentovanou cestu konektoru.

Související články