Адсутнічаюць залежнасці SOCKS у Requests ці HTTPX
Усталюйце патрэбнае дапаўненне SOCKS і праверце, што скрыпт выкарыстоўвае тое асяроддзе Python, дзе яно ўсталявана.
Адсутная залежнасць SOCKS — праблема лакальнай устаноўкі Python. Requests і HTTPX выкарыстоўваюць розныя неабавязковыя пакеты, таму ўсталюйце дапаўненне для кліента, які імпартуе скрыпт.
Requests
uv add 'requests[socks]'
uv run python -c 'import requests, socks; print(requests.__version__)'
Requests выкарыстоўвае PySocks. Пасля ўсталявання залежнасці URL проксі socks5h:// перадае DNS прызначэння проксі SOCKS. Сам вузел павінен прадастаўляць SOCKS-сэрвіс.
HTTPX
uv add 'httpx[socks]'
uv run python -c 'import httpx, socksio; print(httpx.__version__)'
HTTPX выкарыстоўвае socksio; устаноўка requests[socks] не дае дапаўнення HTTPX.
Ужо ўсталявана?
Тэрмінал, IDE, ядро notebook і запланаванае заданне могуць выкарыстоўваць розныя асяроддзі Python. Праверце інтэрпрэтатар, які запускае праблемны скрыпт:
uv run python -c 'import sys; print(sys.executable)'
Праверце імпарт у тым самым асяроддзі. Пасля поспеху паўтарыце запыт з абмежаваным тайм-аўтам; далейшыя памылкі аўтэнтыфікацыі, злучэння або адказу SOCKS датычацца самога злучэння. Калі для наступнага тэста патрэбныя публічныя вузлы, паглядзіце спіс SOCKS5-проксі і пакіньце кліент у адпаведным рэжыме SOCKS.