Отсутствующая зависимость 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.

Похожие статьи