Kurze Antwort
Wie finde ich heraus, warum eine proxied Anfrage fehlgeschlagen ist?
Finden Sie zuerst heraus, wer geantwortet hat: das Proxy-Gateway (407, CONNECT-Fehler, einige 502 und 504), die Webseite (401, 403, 429, die meisten 503) oder Ihr eigener Client (TLS- und Timeout-Fehler). Ordnen Sie dann die genaue Meldung der passenden Seite unten zu. Diese Referenz behandelt 15 Fehler, mit denen Scraper bei CrawlRelay Residential-Proxys oder jedem HTTP- oder SOCKS5-Proxy konfrontiert werden, inklusive Code zur Behebung jedes einzelnen.
Welchen Fehler sehe ich?
Finden Sie Ihr Symptom und öffnen Sie dann die Seite für die vollständige Diagnose.
| Symptom | Gesendet von | Erneut versuchen? | Seite |
|---|---|---|---|
407, 'Tunnelverbindung fehlgeschlagen: 407' | Proxy | Nein | 407 Proxy Authentication Required |
401 mit WWW-Authenticate | Webseite | Nein | 401 vs 407 |
403 Seite oder Firewall-Meldung | Webseite | Einmal, dann stoppen | 403 Forbidden |
429, oft mit Retry-After | Webseite | Ja, später | 429 Too Many Requests |
502, 'CONNECT Tunnel fehlgeschlagen, Antwort 502' | Proxy oder CDN | Ja, neuer Ausgang | 502 Bad Gateway |
503, Wartungs- oder Challenge-Seite | Webseite oder CDN | Ja, mit Backoff | 503 Service Unavailable |
504 | Proxy oder CDN | Ein- oder zweimal | 504 Gateway Timeout |
net::ERR_TUNNEL_CONNECTION_FAILED | Browser (Proxy hat CONNECT verweigert) | Nach Behebung der Ursache | ERR_TUNNEL_CONNECTION_FAILED |
net::ERR_PROXY_CONNECTION_FAILED | Browser (Proxy nicht erreichbar) | Nein | ERR_PROXY_CONNECTION_FAILED |
ProxyError: Unable to connect to proxy | Python-Client | Abhängig von der Ursache | Kann keine Verbindung zum Residential Proxy herstellen |
[SSL: WRONG_VERSION_NUMBER] | Ihre TLS-Bibliothek | Nein | SSL: FALSCHE_VERSION_NUMMER |
CERTIFICATE_VERIFY_FAILED | Ihre TLS-Bibliothek | Nein | Zertifikatsprüfung fehlgeschlagen |
ReadTimeout, 'Zeitüberschreitung beim Lesen' | Ihr Client | Ja, neuer Ausgang | Zeitüberschreitung beim Lesen |
ECONNRESET, 'Verbindung getrennt', 'Verbindung vom Peer zurückgesetzt' | Netzwerk | Ja, sichere Anfragen | Verbindung zurückgesetzt |
| 'Fehlende Abhängigkeiten für SOCKS-Unterstützung', curl-Fehler 97 | Client oder SOCKS-Server | Kommt darauf an | SOCKS5-Fehler |
Alle Fehler nach Typ
HTTP-Statuscodes
- 401 Unauthorized vs 407
- 403 Forbidden
- 407 Proxy Authentication Required
- 429 Too Many Requests
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
Browser- und Clientfehler
Verbindungs- und TLS-Fehler
Welche Fehler sollte ein Scraper automatisch erneut versuchen?
Versuchen Sie erneut, was sich von selbst ändern kann, und stoppen Sie bei dem, was nicht geht:
- Erneut versuchen mit neuer Verbindung: 502, 504, Verbindungsabbrüche und Zeitüberschreitungen beim Lesen. Eine neue Verbindung erhält normalerweise einen anderen Residential Proxy-Ausgang.
- Später, langsamer erneut versuchen: 429 und 503. Warten Sie auf
Retry-Afteroder machen Sie exponentielles Backoff mit Jitter und reduzieren Sie die Parallelität bei diesem Host. - Einmal erneut versuchen, dann stoppen: 403. Ein erneuter Versuch mit neuer IP unterscheidet eine markierte Adresse von einer Seitenregel.
- Nie blind erneut versuchen: 407, 401, TLS-Fehler und nicht erreichbare Residential Proxys. Das sind Konfigurationsprobleme.
Der Python-Leitfaden zeigt eine Retry-Policy, die diese Regeln mit urllib3 und Retry befolgt.
Wie protokolliere ich Fehler, damit sie leicht zu debuggen sind?
Protokollieren Sie fünf Felder für jede fehlgeschlagene Anfrage: Host der URL, Statuscode oder Ausnahmeart, Sitzungs-ID falls vorhanden, Zeit bis zum ersten Byte und die ersten 200 Zeichen des Antwortinhalts. Der Inhalt zeigt, ob eine CDN, Firewall oder der Residential Proxy die Fehlerseite erzeugt hat. Zählen Sie Fehler pro Host und Status jede Minute: ein Anstieg bei einem Host bedeutet, dass die Seite etwas geändert hat; ein Anstieg bei allen Hosts deutet auf Probleme in Ihrem Setup oder Netzwerk hin.
Fehlerreferenz: Fragen
Wie erkenne ich, ob ein Fehler vom Residential Proxy oder von der Website kommt?
Schauen Sie, wo er aufgetreten ist. Fehler während des CONNECT-Schritts, die curl -v vor dem TLS-Handshake anzeigt, stammen vom Residential Proxy: 407 oder 502/504 auf CONNECT. Statuscodes, die nach dem TLS-Handshake mit den Headern und HTML der Seite kommen, stammen von der Website. Client-Fehler wie Zeitüberschreitungen und TLS-Fehler kommen aus Ihrem eigenen Code oder Netzwerk.
Werden fehlgeschlagene Anfragen berechnet?
Der Traffic wird in über das Gateway übertragenen Bytes gezählt, daher verursacht eine Fehlermeldung, die nie die Website erreicht hat, wie ein 407, fast keinen Traffic. Eine Blockseite von der Website ist eine normale Antwort und hat eine ähnliche Größe wie jede andere Seite. Reduzieren Sie beides, indem Sie Konfigurationsfehler früh beheben und bei 403 oder 429 langsamer machen.
Was ist eine normale Fehlerquote für einen Scraper mit Residential-Proxys?
Das hängt von den Zielen ab. Proxyways Forschung 2026 maß eine mittlere Erfolgsrate von 99,28 % bei Residential Proxy-Netzwerken, aber nur 74,43 % bei geschützten echten Zielen wie Amazon, Google und Instagram. Messen Sie Ihre eigenen Ziele und beobachten Sie die Fehlerquote über die Zeit: Eine plötzliche Änderung ist wichtiger als der absolute Wert.