aiohttp dokumenterer HTTP-proxystøtte gjennom førespurnadsvala. Eit SOCKS-endepunkt treng ei implementering som snakkar SOCKS. Å endre porten til ein proxy-URL til 1080 gir ikkje den implementeringa.

Inne i ein async-funksjon brukar du connectoren som det vedlikehaldne aiohttp-socks-prosjektet tilbyr:

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()

Dette føreset at connector-pakken allereie er tilgjengeleg og kompatibel med aiohttp-versjonen i applikasjonen. Endepunktet er illustrativt; SOCKS5-proxylista tilbyr offentlege kandidatar for connector-URL-en. Konfigurer retningslinjer for tidsavbrot og svarlengd for den faktiske arbeidsmengda.

Gamle svar viser til ulike pakkar og connectornamn: aiosocks, aiosocksy og aiohttp-socks er ikkje utskiftbare importstiar. Les krava og eksempelet for pakken som faktisk blir brukt. Å kombinere klassen frå eitt prosjekt med argumenta frå eit anna kan feile før det i det heile blir forsøkt ei proxyforbinding.

Hald connectoren og levetida til sesjonen saman, og kontroller vertsnamnoppslag der det betyr noko. Å sende ein SOCKS-URL til eit urelatert HTTP-proxyval er ikkje ei erstatning for den dokumenterte ruta til connectoren.

Relaterte artiklar