홈 / 사용 사례 / Python requests
Python requests에서 프록시 사용법
requests를 프록시로 라우팅하는 모든 방법 — HTTP·HTTPS·SOCKS5, 환경 변수, 세션, 로테이션 — 매시간 검증되는 무료 목록의 프록시로.
기본 HTTP / HTTPS 프록시
가장 간단한 형태 — 하나의 프록시로 http와 https 대상을 모두 처리하며 추가 패키지가 필요 없습니다.
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로 동작합니다.