ホーム / ユースケース / Python requests
Python requests でプロキシを使う方法
requests をプロキシ経由にする全方法 — HTTP・HTTPS・SOCKS5、環境変数、セッション、ローテーション — 毎時検証の無料一覧のプロキシで。
基本の HTTP / HTTPS プロキシ
最も簡単な形 — 1 つのプロキシで 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 で動きます。