Requests または HTTPX で SOCKS の依存関係が不足する場合
適切な SOCKS 追加機能をインストールし、スクリプトがその Python 環境で動いているか確認します。
SOCKS の依存関係不足は、ローカルの Python インストールの問題です。Requests と HTTPX は異なる任意パッケージを使うため、スクリプトがインポートするクライアント用の追加機能をインストールします。
Requests
uv add 'requests[socks]'
uv run python -c 'import requests, socks; print(requests.__version__)'
Requests は PySocks を使います。依存関係のインストール後、socks5h:// のプロキシ URL は宛先 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 モードに保ちます。