Ontbrekende SOCKS-afhankelijkheden in Requests of HTTPX
Installeer de juiste SOCKS-extra en controleer of het script de Python-omgeving gebruikt waarin die is geïnstalleerd.
Een ontbrekende SOCKS-afhankelijkheid is een lokaal Python-installatieprobleem. Requests en HTTPX gebruiken verschillende optionele pakketten; installeer de extra voor de client die je script importeert.
Requests
uv add 'requests[socks]'
uv run python -c 'import requests, socks; print(requests.__version__)'
Requests gebruikt PySocks. Na installatie van die afhankelijkheid delegeert een proxy-URL met socks5h:// de DNS-resolutie van het doel aan de SOCKS-proxy. Het eindpunt zelf moet een SOCKS-dienst bieden.
HTTPX
uv add 'httpx[socks]'
uv run python -c 'import httpx, socksio; print(httpx.__version__)'
HTTPX gebruikt socksio; installatie van requests[socks] levert de HTTPX-extra niet mee.
Al geïnstalleerd?
Een terminal, IDE, notebookkernel en geplande taak kunnen verschillende Python-omgevingen gebruiken. Controleer de interpreter waarmee het falende script draait:
uv run python -c 'import sys; print(sys.executable)'
Voer de importcontrole in diezelfde omgeving uit. Zodra die slaagt, probeer je het verzoek opnieuw met een begrensde time-out; latere authenticatie-, verbindings- of SOCKS-antwoordfouten gaan over de verbinding zelf. Heb je voor die volgende test openbare eindpunten nodig, bekijk dan de SOCKS5-proxylijst en houd de client in de passende SOCKS-modus.