En manglende SOCKS-afhængighed er et lokalt Python-installationsproblem. Requests og HTTPX bruger forskellige valgfrie pakker; installér tillægget til den klient, scriptet importerer.

Requests

uv add 'requests[socks]'
uv run python -c 'import requests, socks; print(requests.__version__)'

Requests bruger PySocks. Når afhængigheden er installeret, delegerer en proxy-URL med socks5h:// målets DNS til SOCKS-proxyen. Endepunktet skal selv levere en SOCKS-tjeneste.

HTTPX

uv add 'httpx[socks]'
uv run python -c 'import httpx, socksio; print(httpx.__version__)'

HTTPX bruger socksio; installation af requests[socks] leverer ikke HTTPX-tillægget.

Allerede installeret?

Terminal, IDE, notebookkerne og planlagt job kan bruge forskellige Python-miljøer. Kontrollér fortolkeren, der kører det fejlende script:

uv run python -c 'import sys; print(sys.executable)'

Kør importkontrollen i samme miljø. Når den lykkes, prøv forespørgslen igen med begrænset timeout; efterfølgende godkendelses-, forbindelses- eller SOCKS-svarfejl handler om selve forbindelsen. Har du brug for offentlige endepunkter til næste test, så se listen over SOCKS5-proxyer og behold klienten i den tilsvarende SOCKS-tilstand.

Relaterede artikler