Idinodokumento ng aiohttp ang suporta sa HTTP proxy sa pamamagitan ng mga opsyon sa kahilingan. Ang endpoint ng SOCKS ay nangangailangan ng implementasyong nagsasalita ng SOCKS. Ang pagpapalit ng port ng URL ng proxy sa 1080 ay hindi nagbibigay ng implementasyong iyon.

Sa loob ng isang async na function, gamitin ang connector na ibinibigay ng pinapanatiling proyektong 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()

Ipinapalagay nito na ang pakete ng connector ay available na at tugma sa bersyon ng aiohttp sa aplikasyon. Ang endpoint ay halimbawa lamang; ang listahan ng proxy na SOCKS5 ay nag-aalok ng mga pampublikong kandidato para sa URL ng connector. I-configure ang patakaran sa timeout at laki ng tugon para sa aktwal na trabaho.

Ang mga lumang sagot ay tumutukoy sa iba't ibang pakete at pangalan ng connector: ang aiosocks, aiosocksy at aiohttp-socks ay hindi mapagpapalit na landas ng pag-import. Basahin ang mga kinakailangan at halimbawa para sa paketeng aktwal na ginagamit. Ang pagsasama ng klase ng isang proyekto sa mga argumento ng iba ay maaaring mabigo bago pa subukan ang anumang koneksyon sa proxy.

Panatilihing magkasama ang connector at ang tagal ng sesyon, at suriin ang pag-uugali ng resolusyon ng hostname kung saan mahalaga. Ang pagpasa ng URL ng SOCKS sa isang walang kaugnayang opsyon ng HTTP proxy ay hindi kapalit ng dokumentadong ruta ng connector.

Kaugnay na mga artikulo