aiohttp dokumentira podršku za HTTP proxy kroz svoje opcije zahtjeva. SOCKS odredište zahtijeva implementaciju koja govori SOCKS. Promjena porta proxy URL-a na 1080 ne daje tu implementaciju.

Unutar async funkcije koristite konektor koji pruža održavani 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()

Ovo pretpostavlja da je paket konektora već dostupan i kompatibilan s verzijom aiohttp u aplikaciji. Odredište je ilustrativno; lista SOCKS5 proxyja nudi javne kandidate za URL konektora. Konfigurirajte pravila za vremensko ograničenje i veličinu odgovora za stvarni posao.

Stari odgovori spominju različite pakete i nazive konektora: aiosocks, aiosocksy i aiohttp-socks nisu zamjenjive putanje uvoza. Pročitajte zahtjeve i primjer za paket koji se stvarno koristi. Kombiniranje klase jednog projekta s argumentima drugog može propasti prije nego što se pokuša ikakva proxy veza.

Držite konektor i trajanje sesije zajedno i provjerite ponašanje razrješavanja imena hostova gdje je to važno. Prosljeđivanje SOCKS URL-a nepovezanoj HTTP proxy opciji nije zamjena za dokumentiranu putanju konektora.

Povezani članci