SOCKS usmjeravanje u aiohttpu s aiohttp-socks
Upotrijebite kompatibilan konektor koji podržava SOCKS umjesto kopiranja starog aiohttp proxy primjera s uklonjenim klasama konektora.
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 upotrijebite 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; popis 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 uopće pokuša 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.