aiohttp dokumentiert HTTP-Proxy-Unterstützung über seine Anfrageoptionen. Ein SOCKS-Endpunkt benötigt eine Implementierung, die SOCKS spricht. Den Port einer Proxy-URL auf 1080 zu ändern, liefert diese Implementierung nicht.

Verwenden Sie innerhalb einer async-Funktion den Connector, den das gepflegte aiohttp-socks-Projekt bereitstellt:

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

Dies setzt voraus, dass das Connector-Paket bereits verfügbar und mit der aiohttp-Version in der Anwendung kompatibel ist. Der Endpunkt ist illustrativ; die SOCKS5-Proxy-Liste bietet öffentliche Kandidaten für die Connector-URL. Konfigurieren Sie Zeitlimit und Antwortgrößenrichtlinie für die tatsächliche Arbeitslast.

Alte Antworten beziehen sich auf verschiedene Pakete und Connector-Namen: aiosocks, aiosocksy und aiohttp-socks sind keine austauschbaren Importpfade. Lesen Sie die Anforderungen und das Beispiel für das tatsächlich verwendete Paket. Die Klasse eines Projekts mit den Argumenten eines anderen zu kombinieren, kann fehlschlagen, bevor überhaupt eine Proxy-Verbindung versucht wird.

Halten Sie Connector und Sitzungslebensdauer zusammen und prüfen Sie das Verhalten der Hostnamenauflösung, wo es darauf ankommt. Eine SOCKS-URL an eine unbezogene HTTP-Proxy-Option zu übergeben, ersetzt nicht den dokumentierten Weg des Connectors.

Ähnliche Artikel