คำตอบด่วน
ฉันจะรู้ได้อย่างไรว่าทำไมคำขอผ่านพร็อกซีถึงล้มเหลว?
ก่อนอื่นให้หาว่า ใคร ตอบกลับ: ประตูพร็อกซี (407, การเชื่อมต่อ CONNECT ล้มเหลว, บางครั้ง 502 และ 504), เว็บไซต์ (401, 403, 429, ส่วนใหญ่ 503), หรือไคลเอนต์ของคุณเอง (ข้อผิดพลาด TLS และหมดเวลา) จากนั้นจับข้อความที่แน่นอนกับหน้าด้านล่าง อ้างอิงนี้ครอบคลุม 15 ข้อผิดพลาดที่ผู้ใช้สคริปต์เจอกับพร็อกซีเรซิเดนเชียล CrawlRelay หรือพร็อกซี HTTP หรือ SOCKS5 ใด ๆ พร้อมโค้ดที่แก้ไขแต่ละข้อผิดพลาดนี้
ฉันกำลังดูข้อผิดพลาดไหนอยู่?
หาสัญญาณอาการของคุณ แล้วเปิดหน้าเพื่ออ่านการวินิจฉัยเต็มรูปแบบ
| อาการ | ส่งโดย | ลองใหม่ไหม? | หน้า |
|---|---|---|---|
407, 'การเชื่อมต่ออุโมงค์ล้มเหลว: 407' | พร็อกซี | ไม่ใช่ | 407 Proxy Authentication Required |
401 พร้อมกับ WWW-Authenticate | เว็บไซต์ | ไม่ใช่ | 401 vs 407 |
หน้า 403 หรือข้อความไฟร์วอลล์ | เว็บไซต์ | ครั้งเดียว แล้วหยุด | 403 Forbidden |
429 มักจะเจอพร้อมกับ Retry-After | เว็บไซต์ | ใช่, ทีหลังได้ | 429 Too Many Requests |
502, 'การเชื่อมต่ออุโมงค์ CONNECT ล้มเหลว, ตอบกลับ 502' | พร็อกซี หรือ CDN | ใช่, ใช้ออกใหม่ | 502 Bad Gateway |
503, หน้าแจ้งบำรุงรักษาหรือท้าทาย | เว็บไซต์ หรือ CDN | ใช่, พร้อมยอดหลังถอย | 503 Service Unavailable |
504 | พร็อกซี หรือ CDN | หนึ่งหรือสองครั้ง | 504 Gateway Timeout |
net::ERR_TUNNEL_CONNECTION_FAILED | เบราว์เซอร์ (พร็อกซีปฏิเสธการเชื่อมต่อ CONNECT) | หลังแก้ไขสาเหตุ | ERR_TUNNEL_CONNECTION_FAILED |
net::ERR_PROXY_CONNECTION_FAILED | เบราว์เซอร์ (พร็อกซีไม่สามารถเข้าถึงได้) | ไม่ใช่ | ERR_PROXY_CONNECTION_FAILED |
ProxyError: Unable to connect to proxy | ไคลเอนต์ Python | ขึ้นกับสาเหตุ | ไม่สามารถเชื่อมต่อพร็อกซี |
[SSL: WRONG_VERSION_NUMBER] | ไลบรารี TLS ของคุณ | ไม่ใช่ | SSL: WRONG_VERSION_NUMBER |
CERTIFICATE_VERIFY_FAILED | ไลบรารี TLS ของคุณ | ไม่ใช่ | การตรวจสอบใบรับรองล้มเหลว |
ReadTimeout, 'อ่านข้อมูลหมดเวลา' | ไคลเอนต์ของคุณ | ใช่, ใช้ออกใหม่ | อ่านข้อมูลหมดเวลา |
ECONNRESET, 'socket ถูกตัด', 'การเชื่อมต่อถูกรีเซ็ตโดยเพียร์' | เครือข่าย | ใช่, คำขอที่ปลอดภัย | การรีเซ็ตการเชื่อมต่อ |
| 'ขาดไลบรารีสำหรับรองรับ SOCKS', ข้อผิดพลาด curl 97 | ไคลเอนต์หรือเซิร์ฟเวอร์ SOCKS | ขึ้นอยู่กับ | ข้อผิดพลาด SOCKS5 |
ข้อผิดพลาดทั้งหมดตามประเภท
รหัสสถานะ HTTP
- 401 Unauthorized vs 407
- 403 Forbidden
- 407 Proxy Authentication Required
- 429 Too Many Requests
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
ข้อผิดพลาดของเบราว์เซอร์และไคลเอนต์
ข้อผิดพลาดการเชื่อมต่อและ TLS
ข้อผิดพลาดใดที่ scraper ควรลองใหม่โดยอัตโนมัติ?
ลองใหม่สิ่งที่สามารถเปลี่ยนแปลงได้เอง และหยุดกับสิ่งที่เปลี่ยนแปลงไม่ได้:
- ลองใหม่ด้วยการเชื่อมต่อใหม่: 502, 504, การรีเซ็ตการเชื่อมต่อและอ่านข้อมูลหมดเวลา การเชื่อมต่อใหม่มักจะใช้พร็อกซีเรซิเดนเชียลคนละ exit.
- ลองใหม่ช้าลงในภายหลัง: 429 และ 503 รอ
Retry-Afterหรือหยุดโดยเพิ่มเวลารอแบบสุ่ม และลดจำนวนการเชื่อมต่อพร้อมกันบนโฮสต์นั้น - ลองใหม่ครั้งเดียวแล้วหยุด: 403 ลองใหม่หนึ่งครั้งด้วย IP ใหม่แยกที่อยู่ที่ถูกแจ้งเตือนจากกฎของเว็บไซต์
- อย่าลองใหม่แบบสุ่ม: 407, 401, ข้อผิดพลาด TLS และพร็อกซีที่เข้าถึงไม่ได้ เป็นปัญหาการตั้งค่า
คู่มือ Python แสดงนโยบายลองใหม่ที่ปฏิบัติตามกฎเหล่านี้โดยใช้ urllib3 Retry
ฉันจะบันทึกข้อผิดพลาดอย่างไรให้แก้ไขง่าย?
บันทึกห้าฟิลด์สำหรับคำขอที่ล้มเหลวทุกครั้ง: โฮสต์ใน URL, รหัสสถานะหรือประเภทข้อยกเว้น, ID เซสชันถ้ามี, เวลาจนถึงไบต์แรก และ 200 ตัวอักษรแรกของเนื้อหาการตอบกลับ เนื้อหาจะบอกว่าหน้าแสดงข้อผิดพลาดนั้นมาจาก CDN, ไฟร์วอลล์ หรือพร็อกซี นับข้อผิดพลาดแยกตามโฮสต์และรหัสสถานะทุกนาที: การเพิ่มขึ้นในโฮสต์เดียวหมายถึงเว็บไซต์เปลี่ยนแปลงบางอย่าง; การเพิ่มขึ้นในทุกโฮสต์หมายถึงการตั้งค่าหรือเครือข่ายของคุณมีปัญหา
ข้อมูลอ้างอิงข้อผิดพลาด: คำถาม
ฉันจะแยกแยะได้อย่างไรว่า ข้อผิดพลาดมาจากพร็อกซีหรือเว็บไซต์?
ดูที่จุดที่เกิด เหตุการณ์ผิดพลาดระหว่างขั้นตอน CONNECT ซึ่ง curl -v แสดงก่อน handshake TLS หมายความว่ามาจากพร็อกซี: 407 หรือ 502 หรือ 504 ในขั้นตอน CONNECT รหัสสถานะที่มา หลัง handshake TLS พร้อมกับหัวข้อและ HTML ของเว็บไซต์ มาจากเว็บไซต์ ข้อผิดพลาดของไคลเอนต์ เช่น หมดเวลาและล้มเหลว TLS มาจากโค้ดหรือเครือข่ายของคุณเอง
คำขอที่ล้มเหลวจะถูกคิดค่าบริการหรือไม่?
ปริมาณข้อมูลถูกนับเป็นไบต์ที่ผ่านเกตเวย์ ดังนั้นคำตอบข้อผิดพลาดที่ไม่เคยถึงเว็บไซต์ เช่น 407 แทบไม่มีการเคลื่อนที่ของข้อมูล หน้าบล็อกจากเว็บไซต์เป็นคำตอบปกติและมีขนาดเท่ากับหน้าอื่นๆ ลดค่าใช้จ่ายด้วยการแก้ไขปัญหาการตั้งค่าแต่เนิ่นๆ และลดความเร็วสำหรับ 403 และ 429
อัตราข้อผิดพลาดปกติสำหรับ scraper ที่ใช้พร็อกซีเรซิเดนเชียลคือเท่าไหร่?
ขึ้นกับเป้าหมาย งานวิจัยของ Proxyway ปี 2026 พบอัตราความสำเร็จกลางที่ 99.28% บนเครือข่ายพร็อกซีเรซิเดนเชียล แต่ 74.43% บนเป้าหมายจริงที่มีการป้องกัน เช่น Amazon, Google และ Instagram วัดเป้าหมายของคุณเองและติดตามอัตราเมื่อเวลาผ่านไป การเปลี่ยนแปลงอย่างกะทันหันมีความสำคัญกว่าตัวเลขโดยรวม