Ohne KYC — keine ID, kein Selfie, keine Dokumente. Mit Krypto bezahlen: BTC, USDT, USDC, ETH, SOL, LTC
Sprache: Deutsch
Jetzt starten

Proxy-Fehlerreferenz · Verbindungs- und TLS-Fehler

ReadTimeout über einen Proxy: Ursachen und sinnvolle Timeouts

Client-Timeout-Fehler: die genaue Meldung in jedem Tool, wahrscheinliche Ursachen in Reihenfolge und die Lösung, die funktioniert.

Zuletzt aktualisiert: · 4 Min. Lesezeit

Kurze Antwort

Was bedeutet Read timed out (ReadTimeout) bei einem Proxy?

Read timed out bedeutet, dass Ihr Client länger als sein Lesetimeout auf die nächsten Bytes der Antwort gewartet hat. Über CrawlRelay Residential Proxies entsteht die Verzögerung meist durch ein langsames Ziel oder einen langsamen Heim-Ausgang. Setzen Sie getrennte Connect- und Read-Timeouts, etwa 10 und 30 bis 60 Sekunden für HTML-Seiten, und wiederholen Sie eine zeitüberschrittene Anfrage einmal mit einem neuen Ausgang.

Read timed out (ReadTimeout) auf einen Blick

FehlerRead timed out (ReadTimeout)
TypClient-Timeout-Fehler
Gesendet vonIhr HTTP-Client, wenn innerhalb des Lesetimeouts keine Daten eingetroffen sind
Definiert inClient setting, no protocol status
Noch einmal versuchen?Ja, ein- bis zweimal auf neuem Exit
Zuerst prüfenVergleichen Sie Ihr Lesetimeout mit der normalen Antwortzeit des Ziels

Was bedeutet Read timed out (ReadTimeout)?

Clients haben üblicherweise zwei Timer. Das Connect-Timeout begrenzt, wie lange der Client auf den Verbindungsaufbau zum Proxy wartet. Das Read-Timeout begrenzt, wie lange er zwischen Bytes wartet, sobald die Anfrage gesendet wurde. Ein Read-Timeout bedeutet also, dass die Verbindung geklappt hat, aber die Antwort zu langsam kam.

Ohne explizite Timeouts warten einige Clients ewig. Bei Python requests ist kein Timeout Standard, sodass eine einzelne blockierte Anfrage einen Worker einfrieren kann.

Wie sieht a read timeout in Python, curl, Node.js und Browsern aus?

Der gleiche Fehler wird in jedem Tool anders angezeigt. Hier sind die Meldungen, nach denen Sie in Ihren Logs suchen sollten:

  • Python requests: ReadTimeout: HTTPSConnectionPool(...): Read timed out. (read timeout=10)
  • httpx: httpx.ReadTimeout
  • Node.js: ETIMEDOUT, ESOCKETTIMEDOUT oder ein AbortError Ihres eigenen Timers
  • Playwright: TimeoutError: page.goto: Timeout 30000ms exceeded

Was verursacht a read timeout?

Wahrscheinlich zuerst:

  • Eine langsame Zielseite, wie Suchergebnisse oder schwere dynamische Seiten.
  • Ein langsamer Ausgang: Uploads im Heimnetz, WLAN oder stark ausgelastete mobile Zelle.
  • Große Downloads, die in einem Block statt gestreamt gelesen werden.
  • Zu enge Timeouts für den Seitentyp.
  • Browser-Seiten, die auf Netzwerk-Idle warten, aber Sites, die niemals mit Lade-Trackern aufhören.

Wie diagnostiziere ich a read timeout Schritt für Schritt?

  1. Messen Sie die Anfragezeit ohne Proxy, um eine Vergleichsbasis zu erhalten.
  2. Protokollieren Sie Zeit bis zum ersten Byte und Gesamtzeit separat.
  3. Prüfen Sie die Antwortgrößen der langsamen URLs.
  4. Prüfen Sie in Browsern, welchen waitUntil-Zustand Sie verwenden.
Testen Sie die fehlerhafte URL mit curl (HTTP-Port, ausführlich)
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:[email protected]:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL

Wie behebe ich a read timeout?

  • Setzen Sie beide Timeouts: Connect etwa 10 Sekunden, Read 30 bis 60 Sekunden für HTML, mehr für große Dateien.
  • Streamen Sie große Antworten und schreiben Sie sie in Chunks auf die Festplatte.
  • Verwenden Sie domcontentloaded statt Netzwerk-Idle in Playwright, wenn Sie nur das HTML brauchen.
  • Blockieren Sie schwere Ressourcen, die Sie im Browser nicht benötigen, wie Video.
  • Wiederholen Sie einmal mit neuem Ausgang, verschieben Sie die URL dann in eine langsame Warteschlange.
Python httpx: explizite Zeitlimits für Verbindung, Lesen, Schreiben und Pooling
import httpx

proxy = "http://USERNAME:[email protected]:7777"
timeout = httpx.Timeout(connect=10.0, read=30.0, write=10.0, pool=10.0)

with httpx.Client(proxy=proxy, timeout=timeout) as client:
    try:
        r = client.get("https://api.ipify.org")
        print(r.status_code, r.text)
    except httpx.TimeoutException as exc:
        print("timed out:", type(exc).__name__)  # ConnectTimeout, ReadTimeout...

Soll ich nach a read timeout einen erneuten Versuch starten?

Wiederholen Sie ein Read-Timeout einmal oder zweimal mit einem neuen Ausgang. Wenn dieselbe URL immer wieder ausfällt, geben Sie ihr ein längeres Timeout in einer separaten langsamen Warteschlange, statt das Timeout für alles zu erhöhen. Achten Sie auf doppelte Nebeneffekte: Wiederholen Sie nur Anfragen, die sicher wiederholbar sind, wie GET.

Wie wirkt sich Read timed out (ReadTimeout) auf CrawlRelay aus?

Jede neue CrawlRelay-Verbindung ohne Session-ID nutzt einen anderen Residential-Ausgang, sodass ein Retry auch eine andere Heimverbindung testet. Halten Sie Sticky Sessions für langsame Ziele kurz: Ist der Ausgang langsam, ist jede Anfrage in der Session langsam.

Gateway: gw.crawlrelay.com, Port 7777 (HTTP, HTTPS über CONNECT) und Port 7778 (SOCKS5). Benutzername im Format: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. Verwandt: 504 Gateway Timeout · Verbindungsabbruch · Leitfaden zur Parallelität.

Read timed out (ReadTimeout): Fragen, die Entwickler stellen

Welches Timeout soll ich beim Scraping mit Proxies verwenden?

Beginnen Sie mit etwa 10 Sekunden Verbindungs- und 30 Sekunden Lese-Timeout für HTML-Seiten und passen Sie diese anhand eigener Messungen an. JSON-APIs sind meist schneller, große Dateien und langsame Suchseiten brauchen mehr. Setzen Sie das Timeout explizit: Python requests hat standardmäßig kein Timeout.

Verbraucht ein Timeout Traffic?

Nur für die Bytes, die bis zum Timeout übertragen wurden. Eine Anfrage, die beim Warten auf das erste Byte ausfällt, hat fast nichts übertragen. Ein großer Download, der mitten drin ausfällt, hat Daten gesendet. Streamen Sie große Dateien und setzen Sie möglichst Resume ein.

Warum treten Timeouts in Bursts auf?

Oftens, weil das Zielgerät unter Last langsamer wird, manchmal Ihre eigene Last. Plötzliche Spitzen über viele Ausgänge gleichzeitig deuten auf das Ziel hin; einzelne Timeouts deuten auf einzelne langsame Ausgänge. Reduzieren Sie die Anzahl gleichzeitiger Verbindungen zum Host, wenn eine Spitze einsetzt.

Weitere Proxy-Fehler in diesem Leitfaden

HTTP-Statuscodes

Browser- und Clientfehler

Verbindungs- und TLS-Fehler

Residential-Proxys mit Dokumentationen, die Fehlerfälle abdecken

CrawlRelay Residential-Proxys von 0,50 $/GB, Traffic, der nie abläuft.

Ab 0,50 $/GB · ohne KYC

Jetzt starten