Ett saknat SOCKS-beroende är ett lokalt Python-installationsproblem. Requests och HTTPX använder olika valfria paket, så installera tillägget för klienten som skriptet importerar.

Requests

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

Requests använder PySocks. Med beroendet installerat delegerar en proxy-URL med socks5h:// målets DNS till SOCKS-proxyn. Ändpunkten måste själv erbjuda en SOCKS-tjänst.

HTTPX

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

HTTPX använder socksio; installation av requests[socks] tillhandahåller inte HTTPX-tillägget.

Redan installerat?

Terminal, IDE, notebookkärna och schemalagt jobb kan använda olika Python-miljöer. Kontrollera tolken som kör det felande skriptet:

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

Kör importkontrollen i samma miljö. När den lyckas, försök begäran igen med begränsad tidsgräns; senare fel i autentisering, anslutning eller SOCKS-svar gäller själva anslutningen. Behöver du offentliga ändpunkter för nästa test, bläddra i listan över SOCKS5-proxyer och behåll klienten i motsvarande SOCKS-läge.

Relaterade artiklar