ProxyHealthList

/ 사용 사례 / Python requests

Python requests에서 프록시 사용법

requests를 프록시로 라우팅하는 모든 방법 — HTTP·HTTPS·SOCKS5, 환경 변수, 세션, 로테이션 — 매시간 검증되는 무료 목록의 프록시로.

HTTP 목록 (TXT) SOCKS5 목록 (TXT)

기본 HTTP / HTTPS 프록시

가장 간단한 형태 — 하나의 프록시로 httphttps 대상을 모두 처리하며 추가 패키지가 필요 없습니다.

import requests

proxy = "http://1.2.3.4:8080"
r = requests.get(
    "https://httpbin.org/ip",
    proxies={"http": proxy, "https": proxy},
    timeout=10,
)
print(r.json())

SOCKS5 프록시

SOCKS 지원을 한 번 설치하고, DNS를 프록시를 통해 해석하도록 socks5h:// 방식을 사용합니다.

pip install "requests[socks]"
proxy = "socks5h://1.2.3.4:1080"
r = requests.get("https://httpbin.org/ip",
                 proxies={"http": proxy, "https": proxy}, timeout=10)

세션 전체에 프록시

s = requests.Session()
s.proxies = {"http": "http://1.2.3.4:8080", "https": "http://1.2.3.4:8080"}
s.get("https://example.com")

환경 변수

export HTTP_PROXY="http://1.2.3.4:8080"
export HTTPS_PROXY="http://1.2.3.4:8080"
python your_script.py

자주 묻는 질문

프록시 요청이 왜 타임아웃되나요?

무료 프록시는 불안정합니다. 짧은 timeout을 설정하고 실패 시 다음으로 넘어가세요.

http:// 인가 socks5h:// 인가?

HTTP는 http://, SOCKS5는 socks5h://. h가 DNS를 원격 해석합니다.

httpx나 aiohttp에서도 되나요?

예 — 같은 host:port가 같은 형식의 프록시 URL로 동작합니다.

관련