Una dipendenza SOCKS mancante è un problema locale di installazione Python. Requests e HTTPX usano pacchetti opzionali diversi; installa l’extra del client importato dallo script.

Requests

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

Requests usa PySocks. Con la dipendenza installata, un URL proxy socks5h:// delega il DNS di destinazione al proxy SOCKS. L’endpoint stesso deve fornire un servizio SOCKS.

HTTPX

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

HTTPX usa socksio; installare requests[socks] non fornisce l’extra di HTTPX.

Già installato?

Terminale, IDE, kernel di notebook e attività pianificata possono usare ambienti Python diversi. Controlla l’interprete che esegue lo script non riuscito:

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

Esegui il controllo degli import nello stesso ambiente. Quando riesce, riprova la richiesta con timeout limitato; gli errori successivi di autenticazione, connessione o risposta SOCKS riguardano la connessione stessa. Se servono endpoint pubblici per il test seguente, consulta l’elenco dei proxy SOCKS5 e mantieni il client nella modalità SOCKS corrispondente.

Articoli correlati