如何在Python Requests中使用代理(HTTP/HTTPS與Session連線池)

更新於:

Python的 requests 套件透過 proxies 字典接收認證的 VinaProxy 代理,將 'http' 與 'https' 鍵值皆對應到 http://user:pass@ip:port。將該字典掛載至常駐的 requests.Session() 可以重複利用底層TCP連線,大幅降低網路爬蟲的開銷並提升抓取效率。

Python Requests · HTTP Proxy Format
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}
獨享IPv4(資料中心)
🇺🇸 United States
有貨
低至
₫20,000 / IP / 月
≈ US$0.74 · 以VND結算
批量階梯價格
  • 1 個IP₫40,000
  • 5+ 個IP₫35,000
  • 10+ 個IP₫25,000
  • 20+ 個IP₫25,000
  • 50+ 個IP₫25,000
  • 100+ 個IP₫25,000
  • 200+ 個IP₫25,000
  • 500+ 個IP₫25,000
  • 1000+ 個IP₫22,000
  • 2000+ 個IP₫20,000
購買United States代理
獨享IPv4(資料中心)
🇻🇳 Vietnam
有貨
低至
₫20,000 / IP / 月
≈ US$0.74 · 以VND結算
批量階梯價格
  • 1 個IP₫40,000
  • 5+ 個IP₫35,000
  • 10+ 個IP₫25,000
  • 20+ 個IP₫25,000
  • 50+ 個IP₫25,000
  • 100+ 個IP₫25,000
  • 200+ 個IP₫25,000
  • 500+ 個IP₫25,000
  • 1000+ 個IP₫22,000
  • 2000+ 個IP₫20,000
購買Vietnam代理

配置proxies字典格式與重複利用Session連線

對每個網址獨立呼叫 requests.get() 會在每次請求時重新進行TCP交握與TLS憑證協商。將代理綁定到 session = requests.Session() 能在連續請求中維持代理TCP通道暢通。

Requests參數建議程式碼語法技術作用說明
'http' 鍵值'http://user:pass@ip:port'透過代理轉發普通HTTP請求
'https' 鍵值'http://user:pass@ip:port'使用 http:// 通訊協定讓底層 urllib3 發出HTTP CONNECT指令建立TLS通道
timeout 元組timeout=(5, 15)5秒連線逾時與15秒讀取逾時,防止背景執行緒當住卡死
IP池輪替itertools.cycle(proxy_list)在你的專屬靜態IP池中均勻平攤輪詢請求

避免常見的urllib3與ProxyError錯誤陷阱

  • 針對 'http' 與 'https' 字典鍵,代理URL前綴請統一使用 http://(而非 https://),除非代理連接埠明確要求TLS-over-TLS雙重加密
  • 如果密碼中含有特殊字元,請使用 urllib.parse.quote(password, safe='') 進行URL編碼轉換
  • 出現 407 Proxy Authentication Required 錯誤通常表示URL字串中的帳號或密碼與控制台資料不符
  • 該設定邏輯完全相容於 httpx.Client(proxy='http://user:pass@ip:port') 以及 aiohttp 的 session.get(url, proxy=...)

操作步驟

  1. 1

    將ip:port:user:pass轉換為URL格式

    使用我們的代理格式轉換工具將 VinaProxy 代理清單快速轉換為 http://user:pass@ip:port 字串。

  2. 2

    定義proxies字典

    在Python腳本中宣告 proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}。

  3. 3

    掛載至requests.Session()實例

    初始化 s = requests.Session() 並呼叫 s.proxies.update(proxies) 以啟用持續性 Keep-Alive 連線池。

  4. 4

    發送測試請求驗證對外IP

    執行 print(s.get('https://vinaproxy.com/api/my-ip', timeout=10).json()),確認回應的JSON正確顯示代理IP。

常見問題

為什麼'https'鍵的代理URL依然使用'http://user:pass@ip:port'?

http:// 前綴是用來告知 urllib3 如何連線至代理伺服器本體(透過標準HTTP CONNECT建立通道),而發送至目標 https:// 網站的端到端流量全程皆受TLS高度加密保護。

在Python中如何讓25個靜態代理在發送請求時自動輪替?

將25個代理URL載入至 pool = itertools.cycle(PROXIES),在每次呼叫時傳入 proxies={'http': p, 'https': p},並搭配適當的頻率限制。

VinaProxy 會對Python爬蟲腳本限制流量或按GB計費嗎?

不會。所有專屬IPv4與靜態住宅ISP方案皆享有每月不限流量,絕不收取額外流量費用。

打造不限流量的Python爬蟲代理池

即時開通涵蓋7個熱門國家的專屬IPv4與靜態住宅ISP代理。

購買Python代理

相關文章

依平台選擇代理
網路爬蟲專用代理:為 24/7 爬蟲打造的不限流量獨享 IPv4 與 ISP 代理池
為 Python、Playwright、Selenium 與 Scrapy 提供高速 HTTP(S) 獨享 IPv4 與靜態 ISP Proxy,享無限月度流量。
代理設定教學
如何在 Playwright 中設定 Proxy(瀏覽器全域與 Per-Context 驗證)
在 Node.js 與 Python 的 Playwright 中設定具備帳密驗證的 HTTP(S) 代理。透過 BrowserContext 在單一瀏覽器處理程序中分配多個獨立靜態 IP。
代理設定教學
如何在 Python Scrapy 中設定與輪替 Proxy 代理伺服器
在 Python Scrapy 中運用 HttpProxyMiddleware、request.meta['proxy'] 與單 IP 並行節流設定具備身分驗證的 HTTP(S) 代理伺服器。
免費工具
批次 Proxy 格式轉換工具(100% 瀏覽器本地端安全處理)
100% 瀏覽器端批次代理格式轉換工具。支援在 ip:port:user:pass、user:pass@ip:port、http:// URL、SOCKS5 URI、JSON 陣列及 FoxyProxy 匯入檔之間即時轉換。
依平台選擇代理
SEO 與 SERP 排名追蹤專用代理:精準監測 7 國搜尋引擎排名
追蹤精準在地化關鍵字排名,審查地理重定向,並使用不限流量獨享 IPv4 與靜態 ISP Proxy 執行 Screaming Frog 網站爬取。
依平台選擇代理
Amazon 專用 Proxy:徹底隔離 Seller Central、KDP 與 Merch 帳號關聯風險
杜絕 Amazon Seller Central、KDP 及 Merch on Demand 帳號關聯停權。提供美國靜態 ISP 與英國/日本獨享 IPv4 代理。
IPV4 · united states
美國獨享IPv4代理:專用於大數據擷取、SEO追蹤與廣告驗證的高速美國IP
美國獨享IPv4代理:專用於資料爬取、排名追蹤、廣告驗證及亞馬遜調研。靜態獨享IP,不限流量,快速啟用。
IPV4 · vietnam
越南獨享IPv4代理:高性價比、大批次自動化業務專屬的靜態越南IP
越南獨享IPv4代理:高性價比IP,適用於Facebook養號互動、Shopee副店、自動化工具及google.com.vn監控。不限流量。