SOCKS maršrutēšana aiohttp ar aiohttp-socks
Izmantojiet saderīgu SOCKS atbalstošu savienotāju, nevis kopējiet vecu aiohttp starpniekservera piemēru ar noņemtām savienotāja klasēm.
aiohttp dokumentē HTTP starpniekservera atbalstu, izmantojot pieprasījuma opcijas. SOCKS galapunktam ir vajadzīga implementācija, kas runā SOCKS. Starpniekservera URL porta maiņa uz 1080 šo implementāciju nesniedz.
async funkcijā izmantojiet savienotāju, ko nodrošina uzturētais aiohttp-socks projekts:
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()Tas pieņem, ka savienotāja pakotne jau ir pieejama un saderīga ar lietojumprogrammas aiohttp versiju. Galapunkts ir ilustratīvs; SOCKS5 starpniekserveru saraksts piedāvā publiskus kandidātus savienotāja URL. Konfigurējiet taimauta un atbildes lieluma politiku faktiskajai slodzei.
Vecās atbildes attiecas uz dažādām pakotnēm un savienotāju nosaukumiem: aiosocks, aiosocksy un aiohttp-socks nav savstarpēji aizstājami importēšanas ceļi. Izlasiet prasības un piemēru pakotnei, kas faktiski tiek izmantota. Viena projekta klases apvienošana ar cita projekta argumentiem var neizdoties pirms jebkura starpniekservera savienojuma mēģinājuma.
Turiet savienotāju un sesijas dzīvi kopā un pārbaudiet resursdatora nosaukuma izšķiršanas uzvedību tur, kur tas ir svarīgi. SOCKS URL nodošana nesaistītai HTTP starpniekservera opcijai neaizstāj savienotāja dokumentēto maršrutu.