Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan crypto: BTC, USDT, USDC, ETH, SOL, LTC
Bahasa: Bahasa Indonesia
Mulai sekarang

Referensi kesalahan proxy · Error koneksi dan TLS

Read timeout melalui proxy: penyebab dan timeout yang wajar

Kesalahan timeout klien: pesan tepat di tiap alat, penyebab yang mungkin secara urut, dan perbaikan yang berhasil.

Terakhir diperbarui: · 4 baca dalam menit

Jawaban cepat

Apa arti Read timed out (ReadTimeout) dengan proxy?

Read timeout berarti klien Anda menunggu lebih lama dari batas waktu bacanya untuk byte berikutnya dari respons. Melalui proxy residential CrawlRelay, delay biasanya dari target yang lambat atau exit rumah yang lambat. Atur timeout connect dan baca terpisah, sekitar 10 dan 30 hingga 60 detik untuk halaman HTML, dan coba ulang permintaan yang timeout sekali di exit baru.

Read timed out (ReadTimeout) sekilas

KesalahanRead timed out (ReadTimeout)
TipeKesalahan timeout klien
Dikirim olehKlien HTTP Anda, ketika tidak ada data yang tiba dalam batas waktu baca
Didefinisikan dalamClient setting, no protocol status
Mencoba lagi?Ya, sekali atau dua kali di exit baru
Periksa pertamaBandingkan batas waktu baca dengan waktu respons normal target

Apa arti Read timed out (ReadTimeout)?

Klien biasanya memiliki dua timer. Timeout connect membatasi berapa lama klien menunggu membuka koneksi ke proxy. Timeout baca membatasi berapa lama menunggu antar byte setelah permintaan dikirim. Timeout baca berarti koneksi berhasil tapi jawaban terlalu lambat.

Tanpa timeout eksplisit, beberapa klien menunggu selamanya. Di Python requests, tanpa timeout adalah default, jadi satu permintaan macet dapat membekukan worker.

Seperti apa a read timeout dalam Python, curl, Node.js, dan browser?

Kegagalan yang sama dicetak berbeda di setiap alat. Ini adalah pesan yang perlu dicari di log Anda:

  • Python requests: ReadTimeout: HTTPSConnectionPool(...): Read timed out. (read timeout=10)
  • httpx: httpx.ReadTimeout
  • Node.js: ETIMEDOUT, ESOCKETTIMEDOUT, atau AbortError dari timer Anda sendiri
  • Playwright: TimeoutError: page.goto: Timeout 30000ms exceeded

Apa penyebab a read timeout?

Kemungkinan besar pertama:

  • Halaman target lambat, seperti hasil pencarian atau halaman dinamis berat.
  • Exit lambat: kecepatan upload rumah, Wi-Fi, atau sel mobile sibuk.
  • Unduhan besar dibaca sekaligus bukan streaming.
  • Timeout yang disetel terlalu ketat untuk jenis halaman.
  • Halaman browser yang menunggu idle jaringan pada situs yang tak pernah berhenti memuat tracker.

Bagaimana cara mendiagnosis a read timeout langkah demi langkah?

  1. Ukur waktu permintaan tanpa proxy untuk baseline.
  2. Catat waktu sampai byte pertama dan total waktu secara terpisah.
  3. Periksa ukuran respons untuk URL lambat.
  4. Di browser, periksa kondisi waitUntil yang Anda gunakan.
Uji URL yang gagal dengan curl (port HTTP, verbose)
# 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

Bagaimana cara memperbaiki a read timeout?

  • Atur kedua timeout: connect sekitar 10 detik, baca 30 sampai 60 detik untuk HTML, lebih untuk file besar.
  • Streaming respons besar dan tulis ke disk secara bertahap.
  • Gunakan domcontentloaded daripada idle jaringan di Playwright saat hanya perlu HTML.
  • Blokir sumber berat yang tidak Anda butuhkan di browser, seperti video.
  • Coba ulang sekali di exit baru, lalu pindahkan URL ke antrean lambat.
Python httpx: atur timeout connect, read, write, dan pool secara eksplisit
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...

Haruskah saya mencoba lagi setelah a read timeout?

Coba ulang read timeout sekali atau dua kali di exit baru. Jika URL sama terus timeout, beri timeout lebih lama di antrean lambat terpisah daripada menaikkan timeout untuk semuanya. Waspadai efek samping duplikat: hanya ulang permintaan yang aman diulang, seperti GET.

Bagaimana Read timed out (ReadTimeout) berlaku untuk CrawlRelay?

Setiap koneksi baru CrawlRelay tanpa ID sesi menggunakan exit residential berbeda, jadi retry juga menguji koneksi rumah berbeda. Jaga sesi sticky pendek untuk target lambat: jika exit lambat, setiap permintaan dalam sesi juga lambat.

Gateway: gw.crawlrelay.com, port 7777 (HTTP, HTTPS melalui CONNECT) dan port 7778 (SOCKS5). Format username: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. Terkait: 504 Gateway Timeout · Connection reset · Concurrency guide.

Read timed out (ReadTimeout): pertanyaan yang sering ditanyakan pengembang

Timeout berapa yang harus saya gunakan untuk scraping dengan proxy?

Mulailah dengan sekitar 10 detik untuk connect dan 30 detik untuk baca untuk halaman HTML, lalu sesuaikan dari pengukuran Anda sendiri. API JSON sering lebih cepat; file besar dan halaman pencarian lambat butuh lebih. Atur secara eksplisit: Python requests tidak punya timeout bawaan.

Apakah timeout menghabiskan kuota saya?

Hanya untuk byte yang sudah ditransfer sebelum timeout. Permintaan yang timeout saat menunggu byte pertama hampir tidak mengirim data. Unduhan besar yang timeout di tengah sudah mengirim data. Streaming file besar dan lanjutkan di tempat yang memungkinkan.

Mengapa timeout terjadi secara berturut-turut?

Sering karena target melambat saat beban tinggi, terkadang beban Anda sendiri. Lonjakan di banyak exit sekaligus mengarah ke target; timeout terisolasi mengarah ke exit lambat tunggal. Turunkan konkurensi pada host saat lonjakan mulai.

Kesalahan proxy lain dalam referensi ini

Kode status HTTP

Kesalahan browser dan klien

Error koneksi dan TLS

Proxy residensial dengan dokumentasi yang membahas kasus kegagalan

Proxy residensial CrawlRelay dari US$0,50/GB, lalu lintas yang tidak pernah kedaluwarsa.

Dari US$0,50/GB · tanpa KYC

Mulai sekarang