Відсутня залежність 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.

Схожі статті