วิธีใช้พร็อกซีใน Python Requests (HTTP/HTTPS และการรวม Session Pooling)

อัปเดตเมื่อ:

ไลบรารี requests ใน Python รองรับพร็อกซี VinaProxy ที่ต้องยืนยันตัวตนผ่านดิกชันนารี proxies โดยแมปทั้งคีย์ 'http' และ 'https' เข้ากับ http://user:pass@ip:port การผูกดิกชันนารีนี้เข้ากับ requests.Session() จะช่วยนำซ็อกเก็ต TCP เดิมกลับมาใช้ซ้ำ ทำให้การทำ Web Scraping ทำได้รวดเร็วและใช้ทรัพยากรน้อยลงอย่างมาก

Python Requests · HTTP Proxy Format
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}
IPv4 ส่วนตัว (Datacenter)
🇺🇸 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 ส่วนตัว (Datacenter)
🇻🇳 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
พร็อกซีตามแพลตฟอร์ม:web-scrapingseo-rank-trackingamazon

การจัดรูปแบบดิกชันนารี proxies และการใช้ Session ซ้ำ

การเรียก requests.get() แยกเดี่ยวในทุกๆ URL จะสร้างการเชื่อมต่อ TCP และขั้นตอนจับมือ TLS ใหม่ทุกครั้ง การผูกพร็อกซีเข้ากับ session = requests.Session() จะช่วยรักษาทันเนลของพร็อกซีให้เปิดค้างไว้สำหรับการส่งคำขออย่างต่อเนื่อง

พารามิเตอร์ Requestsรูปแบบไวยากรณ์ที่แนะนำประโยชน์ทางเทคนิค
คีย์ 'http''http://user:pass@ip:port'ส่งผ่านคำขอเว็บแบบ HTTP ปกติผ่านพร็อกซี
คีย์ 'https''http://user:pass@ip:port'ใช้โครงสร้าง http:// เพื่อให้ urllib3 เปิดทันเนล HTTP CONNECT สำหรับ TLS
ทูเพิล timeouttimeout=(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='')
  • ข้อผิดพลาด 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

    สร้างตัวแปร proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'} ในสคริปต์ Python

  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()) เพื่อตรวจสอบความถูกต้องของ IP พร็อกซี

คำถามที่พบบ่อย

ทำไมคีย์ 'https' ถึงยังคงใช้ 'http://user:pass@ip:port'?

คำนำหน้า http:// มีไว้เพื่อบอก urllib3 ถึงโปรโตคอลในการเชื่อมต่อไปยังเซิร์ฟเวอร์พร็อกซี (โดยใช้ HTTP CONNECT) ในขณะที่ข้อมูลทั้งหมดที่ส่งต่อไปยังเว็บไซต์ปลายทาง https:// ยังคงถูกเข้ารหัสด้วย TLS อย่างสมบูรณ์

จะหมุนเวียนใช้งานพร็อกซีสถิต 25 ตัวในการส่งคำขอใน Python ได้อย่างไร?

โหลด URL พร็อกซีทั้ง 25 ตัวลงใน pool = itertools.cycle(PROXIES) แล้วส่งค่า proxies={'http': p, 'https': p} ในแต่ละคำขอพร้อมจำกัดความถี่การส่งคำขอต่อ IP อย่างเหมาะสม

VinaProxy มีการจำกัดหรือคิดเงินค่าแบนด์วิดท์ของสคริปต์ Python หรือไม่?

ไม่มี แพ็กเกจ IPv4 ส่วนตัวและ Static ISP ทั้งหมดมาพร้อมกับปริมาณการใช้งานไม่จำกัดต่อเดือน

สร้างพูลพร็อกซี Python สำหรับงานสแครปปิ้งแบบไม่จำกัดแบนด์วิดท์

พร็อกซี IPv4 ส่วนตัวและ Static ISP พร้อมใช้งานทันทีใน 7 ประเทศ

ซื้อพร็อกซีสำหรับ Python

บทความที่เกี่ยวข้อง

พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ Web Scraping: พูล IPv4 และ ISP แบบเฉพาะไม่จำกัด สำหรับบอทดูดข้อมูล 24/7
พร็อกซี HTTP(S) IPv4 แบบเฉพาะและ ISP แบบคงที่ความเร็วสูงสำหรับ Python, Playwright, Selenium และ Scrapy พร้อมแบนด์วิดท์รายเดือนไม่จำกัด
วิธีตั้งค่าพร็อกซี
วิธีตั้งค่าพร็อกซีใน Playwright (การยืนยันตัวตนระดับเบราว์เซอร์และราย Context)
กำหนดค่า HTTP(S) proxy พร้อมการยืนยันตัวตนใน Playwright สำหรับ Node.js และ Python ใช้งานหลาย IP แบบคงที่แยกจากกันบน BrowserContext
วิธีตั้งค่าพร็อกซี
วิธีตั้งค่าและหมุนเวียนพร็อกซีใน Python Scrapy
วิธีกำหนดค่า HTTP(S) proxy พร้อมการยืนยันตัวตนใน Python Scrapy ด้วย HttpProxyMiddleware, request.meta['proxy'] และการจำกัดการเชื่อมต่อต่อ IP
เครื่องมือฟรี
เครื่องมือแปลงรูปแบบพร็อกซีแบบกลุ่ม (ประมวลผลบนเบราว์เซอร์ ปลอดภัย 100%)
เครื่องมือจัดรูปแบบรายการพร็อกซีจำนวนมากบนเบราว์เซอร์ 100% แปลงระหว่าง ip:port:user:pass, user:pass@ip:port, http:// URL, SOCKS5 URI, JSON array และ FoxyProxy ได้ทันที
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ SEO และติดตามอันดับ SERP: แสดงอันดับคำค้นหาที่แม่นยำใน 7 ประเทศ
ติดตามอันดับคีย์เวิร์ดระดับท้องถิ่น ตรวจสอบการเปลี่ยนเส้นทางตามพิกัดภูมิศาสตร์ และรัน Screaming Frog ด้วยพร็อกซี IPv4 แบบเฉพาะและ ISP แบบคงที่ไม่จำกัดแบนด์วิดท์
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ Amazon: แยกบัญชี Seller Central, KDP และ Merch ออกจากกันด้วย IP คงที่
ป้องกันการโดนระงับบัญชีที่เชื่อมโยงกัน (Related Accounts) บน Amazon Seller Central, KDP และ Merch ด้วยพร็อกซี ISP คงที่ของสหรัฐฯ และ IPv4 ส่วนตัวของอังกฤษ/ญี่ปุ่น
IPV4 · united states
พร็อกซี IPv4 สหรัฐฯ ส่วนตัว: IP ดาต้าเซ็นเตอร์อเมริกาความเร็วสูงเฉพาะคุณ
พร็อกซี IPv4 ส่วนตัวสหรัฐฯ สำหรับดึงข้อมูล เช็กอันดับ ตรวจสอบโฆษณา และรีเสิร์ช Amazon มี IP คงที่ ใช้คนเดียว แบนด์วิดท์ไม่จำกัด เปิดใช้งานไว
IPV4 · vietnam
พร็อกซี IPv4 ส่วนตัวเวียดนาม: IP เฉพาะราคาประหยัดสำหรับงานปริมาณมาก
พร็อกซี IPv4 ส่วนตัวเวียดนามราคาประหยัด สำหรับปั๊ม Facebook, ร้าน Shopee สำรอง, เครื่องมือบอท และเช็ก google.com.vn ดาต้าไม่จำกัด