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, 노트북 커널과 예약 작업은 서로 다른 Python 환경을 사용할 수 있습니다. 실패한 스크립트를 실행하는 인터프리터를 확인하세요.

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

같은 환경에서 가져오기 검사를 실행하세요. 성공하면 시간 제한을 둔 요청으로 다시 시도하세요. 이후 인증, 연결이나 SOCKS 응답 오류는 연결 자체의 문제입니다. 다음 테스트에 공개 엔드포인트가 필요하면 SOCKS5 프록시 목록을 보고 클라이언트를 일치하는 SOCKS 모드로 유지하세요.

관련 글