Brakujące zależności SOCKS w Requests lub HTTPX
Zainstaluj odpowiedni dodatek SOCKS i sprawdź, czy skrypt używa środowiska Python, w którym go zainstalowano.
Brak zależności SOCKS to problem lokalnej instalacji Pythona. Requests i HTTPX korzystają z różnych pakietów opcjonalnych, więc zainstaluj dodatek klienta importowanego przez skrypt.
Requests
uv add 'requests[socks]'
uv run python -c 'import requests, socks; print(requests.__version__)'
Requests używa PySocks. Po zainstalowaniu tej zależności URL proxy socks5h:// przekazuje DNS celu do proxy SOCKS. Sam punkt musi oferować usługę SOCKS.
HTTPX
uv add 'httpx[socks]'
uv run python -c 'import httpx, socksio; print(httpx.__version__)'
HTTPX używa socksio; instalacja requests[socks] nie zapewnia dodatku HTTPX.
Już zainstalowane?
Terminal, IDE, jądro notebooka i zadanie zaplanowane mogą używać różnych środowisk Python. Sprawdź interpreter uruchamiający skrypt, który zawodzi:
uv run python -c 'import sys; print(sys.executable)'
Uruchom kontrolę importów w tym samym środowisku. Gdy się powiedzie, ponów żądanie z ograniczonym czasem oczekiwania; późniejsze błędy uwierzytelniania, połączenia lub odpowiedzi SOCKS dotyczą samego połączenia. Jeśli do kolejnego testu potrzebujesz publicznych punktów, przejrzyj listę proxy SOCKS5 i pozostaw klienta w pasującym trybie SOCKS.