Zonder KYC — geen ID, geen selfie, geen documenten. Betaal met crypto: BTC, USDT, USDC, ETH, SOL, LTC
Taal: Nederlands
Aan de slag

Proxy foutreferentie · Verbindings- en TLS-fouten

Read timed out via een proxy: oorzaken en verstandige timeouts

Client time-out fout: het exacte bericht in elk hulpmiddel, de waarschijnlijke oorzaken in volgorde, en de oplossing die werkt.

Laatst bijgewerkt: · 4 min leestijd

Kort antwoord

Wat betekent Read timed out (ReadTimeout) bij een proxy?

Read timed out betekent dat je client langer wachtte dan zijn read timeout op de volgende bytes van het antwoord. Via CrawlRelay residential proxies komt de vertraging meestal door een trage doelwebsite of een trage home exit. Stel aparte connect- en read timeouts in, ongeveer 10 respectievelijk 30 tot 60 seconden voor HTML-pagina's, en probeer een timed-out verzoek eenmaal opnieuw op een nieuwe exit.

Read timed out (ReadTimeout) in één oogopslag

FoutRead timed out (ReadTimeout)
TypeClient time-out fout
Verzonden doorJe HTTP-client wanneer er binnen de read timeout geen data binnenkwam
Gedefinieerd inClient setting, no protocol status
Opnieuw proberen?Ja, één of twee keer op een nieuwe exit
Eerst controlerenVergelijk je read timeout met de normale reactietijd van de doelwebsite

Wat betekent Read timed out (ReadTimeout)?

Clients hebben meestal twee timers. De connect timeout beperkt hoe lang de client wacht om verbinding te maken met de proxy. De read timeout beperkt hoe lang hij wacht tussen bytes zodra het verzoek is verzonden. Een read timeout betekent dus dat de verbinding gelukt is maar het antwoord te langzaam kwam.

Zonder expliciete timeouts wachten sommige clients oneindig. Bij Python requests is geen timeout standaard, waardoor een vastlopend verzoek een worker kan blokkeren.

Hoe ziet a read timeout eruit in Python, curl, Node.js en browsers?

Dezelfde fout verschijnt anders in elk hulpmiddel. Dit zijn de berichten om in je logs te zoeken:

  • Python requests: ReadTimeout: HTTPSConnectionPool(...): Read timed out. (read timeout=10)
  • httpx: httpx.ReadTimeout
  • Node.js: ETIMEDOUT, ESOCKETTIMEDOUT, of een AbortError van je eigen timer
  • Playwright: TimeoutError: page.goto: Timeout 30000ms exceeded

Wat veroorzaakt a read timeout?

Waarschijnlijk eerst:

  • Een trage doelpagina, zoals zoekresultaten of zware dynamische pagina's.
  • Een trage exit: uploadsnelheid thuis, Wi-Fi of een drukke mobiele cel.
  • Grote downloads ingelezen in één blok in plaats van gestreamd.
  • Te strakke timeouts voor dit type pagina.
  • Browserpagina's die wachten op netwerk idle op sites die nooit stoppen met trackers laden.

Hoe diagnosticeer ik a read timeout stap voor stap?

  1. Meet de tijd zonder proxy om een basislijn te krijgen.
  2. Log tijd tot de eerste byte en totale tijd apart.
  3. Controleer responsgroottes voor de trage URL's.
  4. In browsers, controleer welke waitUntil-conditie je gebruikt.
Test de foutieve URL met curl (HTTP-poort, uitvoerig)
# 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

Hoe los ik a read timeout op?

  • Stel beide timeouts in: connect ongeveer 10 seconden, read 30 tot 60 seconden voor HTML, meer voor grote bestanden.
  • Stream grote antwoorden en schrijf ze in stukken naar schijf.
  • Gebruik domcontentloaded in plaats van network idle in Playwright als je alleen HTML nodig hebt.
  • Blokkeer zware bronnen die je niet nodig hebt in browsers, zoals video.
  • Probeer eenmaal opnieuw op een nieuwe exit, daarna verhuis de URL naar een langzame wachtrij.
Python httpx: expliciete connect-, lees-, schrijf- en pool-timeouts
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...

Moet ik opnieuw proberen na a read timeout?

Probeer een read timeout één of twee keer opnieuw op een nieuwe exit. Als dezelfde URL steeds time-outs geeft, geef hem dan een langere timeout in een aparte langzame wachtrij, in plaats van de timeout voor alles te verhogen. Let op dubbele bijwerkingen: herhaal alleen verzoeken die veilig opnieuw uit te voeren zijn, zoals GET.

Hoe geldt Read timed out (ReadTimeout) voor CrawlRelay?

Elke nieuwe CrawlRelay-verbinding zonder sessie-ID gebruikt een andere residential exit, dus een herhaling test ook een andere home-verbinding. Houd sticky sessions kort voor trage doelen: als de exit traag is, is elk verzoek in die sessie langzaam.

Gateway: gw.crawlrelay.com, poort 7777 (HTTP, HTTPS via CONNECT) en poort 7778 (SOCKS5). Gebruikersnaamformaat: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. Gerelateerd: 504 Gateway Timeout · Connection reset · Concurrency guide.

Read timed out (ReadTimeout): vragen die ontwikkelaars stellen

Welke timeout moet ik gebruiken voor scrapen met proxies?

Begin met ongeveer 10 seconden verbinden en 30 seconden lezen voor HTML-pagina's, en pas aan op basis van je eigen metingen. JSON API's zijn vaak sneller; grote bestanden en trage zoekpagina's hebben meer nodig. Stel ze expliciet in: Python requests heeft standaard geen timeout.

Kosten timeouts mij verkeer?

Alleen voor de bytes die al verzonden waren vóór de timeout. Een verzoek dat time-out gaat bij het wachten op de eerste byte heeft bijna niets verplaatst. Een grote download die halverwege time-out gaat, heeft wel data overgebracht. Stream grote bestanden en hervat waar mogelijk.

Waarom gebeuren timeouts in clusters?

Vaak omdat het doel onder belasting vertraagt, soms door je eigen belasting. Piekbelastingen tegelijk over veel exits wijzen op het doel; geïsoleerde time-outs wijzen op enkele trage exits. Verlaag de gelijktijdigheid op de host als een piek begint.

Andere proxyfouten in deze referentie

HTTP-statuscodes

Browser- en clientfouten

Verbindings- en TLS-fouten

Residentiële proxy's met documentatie die de faalgevallen beschrijft

CrawlRelay residentiële proxy's van US$ 0,50/GB, verkeer dat nooit verloopt.

Vanaf US$ 0,50/GB · zonder KYC

Aan de slag