Usmerjanje SOCKS v aiohttp z aiohttp-socks
Uporabite združljiv priključek, ki podpira SOCKS, namesto da kopirate star primer proxyja aiohttp z odstranjenimi razredi priključka.
aiohttp dokumentira podporo proxyju HTTP prek svojih možnosti zahteve. Končna točka SOCKS potrebuje izvedbo, ki govori SOCKS. Spreminjanje vrat URL-ja proxyja na 1080 te izvedbe ne zagotovi.
Znotraj funkcije async uporabite priključek, ki ga ponuja vzdrževani 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 predpostavlja, da je paket priključka že na voljo in združljiv z različico aiohttp v aplikaciji. Končna točka je ponazoritvena; seznam proxyjev SOCKS5 ponuja javne kandidate za URL priključka. Za dejansko delovno obremenitev nastavite pravilnik o časovni omejitvi in velikosti odgovora.
Stari odgovori omenjajo različne pakete in imena priključkov: aiosocks, aiosocksy in aiohttp-socks niso zamenljive poti uvoza. Preberite zahteve in primer za paket, ki se dejansko uporablja. Kombiniranje razreda enega projekta z argumenti drugega lahko spodleti še pred poskusom kakršne koli povezave proxy.
Držite priključek in življenjsko dobo seje skupaj ter preverite vedenje razreševanja imen gostiteljev, kjer je to pomembno. Posredovanje URL-ja SOCKS nepovezani možnosti proxyja HTTP ne nadomesti dokumentirane poti priključka.