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 · Kesalahan browser dan klien

ProxyError: 'Tidak dapat terhubung ke proxy' dalam Python dan Node.js

Kesalahan pustaka klien (Python, Node.js): pesan tepat di tiap alat, penyebab yang mungkin secara urut, dan perbaikan yang berhasil.

Terakhir diperbarui: · 4 baca dalam menit

Jawaban cepat

Apa arti Cannot connect to proxy (ProxyError) dengan proxy?

'Tidak dapat terhubung ke proxy' adalah error pembungkus: requests dan urllib3 Python menyimpan alasan sebenarnya di dalamnya. Baca penyebab terdalam. 'Connection refused' atau timeout berarti masalah host, port, atau jaringan; 'Failed to resolve' berarti DNS; 'Tunnel connection failed: 407' berarti kredensial. Dengan CrawlRelay, masing-masing memiliki perbaikan satu baris.

Cannot connect to proxy (ProxyError) sekilas

KesalahanCannot connect to proxy (ProxyError)
TipeKesalahan pustaka klien (Python, Node.js)
Dikirim olehKlien HTTP Anda, sebelum atau selama berbicara ke proxy
Didefinisikan dalamLibrary error; read the nested cause for the real reason
Mencoba lagi?Tergantung penyebab di dalamnya
Periksa pertamaBaca pengecualian terdalam: ditolak, timeout, penyelesaian nama, atau kode status

Apa arti Cannot connect to proxy (ProxyError)?

urllib3 mengeluarkan satu ProxyError untuk setiap kegagalan yang melibatkan proxy, dan requests meneruskannya. Informasi berguna ada di pengecualian bersarang, yang cetak jejak errornya (traceback) tampilkan di akhir baris panjang.

Node.js klien berperilaku berbeda: mereka melaporkan error socket langsung, seperti ECONNREFUSED atau ETIMEDOUT, sering tanpa menyebut bahwa alamatnya adalah proxy.

Seperti apa 'Cannot connect to proxy' dalam Python, curl, Node.js, dan browser?

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

  • Ditolak: ProxyError('Unable to connect to proxy', NewConnectionError(... Connection refused))
  • DNS: NameResolutionError(... Failed to resolve ...) di dalam ProxyError
  • Kredensial: OSError('Tunnel connection failed: 407 Proxy Authentication Required')
  • Error gateway: OSError('Tunnel connection failed: 502 Bad Gateway')
  • Node.js: Error: connect ECONNREFUSED, ETIMEDOUT, atau ENOTFOUND, diikuti alamat proxy

Apa penyebab 'Cannot connect to proxy'?

Kemungkinan besar pertama:

  • Host atau port salah dalam URL proxy.
  • Skema hilang: host:port tanpa http:// menghasilkan parsing yang mengejutkan di beberapa perpustakaan.
  • Traffic keluar terblokir di jaringan atau server Anda.
  • Kredensial atau error gateway yang muncul saat langkah CONNECT, dibungkus dalam pengecualian yang sama.
  • Variabel lingkungan seperti HTTPS_PROXY yang menunjuk ke proxy lama dan menimpa kode Anda.

Bagaimana cara mendiagnosis 'Cannot connect to proxy' langkah demi langkah?

  1. Cetak pengecualian lengkap dan baca penyebab bersarang terakhir.
  2. Cetak variabel requests.utils.get_environ_proxies(url) atau HTTP_PROXY, HTTPS_PROXY dan NO_PROXY untuk melihat apa lagi yang dikonfigurasi.
  3. Jalankan tes curl di bawah dari mesin yang sama.
  4. Cocokkan penyebab dengan daftar solusi di bawah.
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 'Cannot connect to proxy'?

  • Ditolak atau timeout: perbaiki host dan port, atau buka traffic keluar ke gateway.
  • Gagal resolve: periksa DNS di mesin; coba host dengan nslookup.
  • 407: perbaiki dan URL-encode kredensial. lihat 407 Proxy Authentication Required.
  • 502 atau 504: coba ulang pada exit baru. lihat 502 dan 504.
  • Proxy lingkungan yang tidak diinginkan: setel session.trust_env = False di requests, atau bersihkan variabelnya.
Python: buat URL proxy dengan kredensial yang dikodekan
from urllib.parse import quote

import requests

user = "USERNAME-country-us"
password = "p@ss:word/1"  # example containing special characters

# safe="" also encodes "/", "@" and ":" inside the credentials
proxy = "http://{}:{}@gw.crawlrelay.com:7777".format(
    quote(user, safe=""), quote(password, safe="")
)
proxies = {"http": proxy, "https": proxy}  # http:// for both keys

r = requests.get("https://api.ipify.org", proxies=proxies, timeout=(10, 30))
print(r.status_code, r.text)

Haruskah saya mencoba lagi setelah 'Cannot connect to proxy'?

Hanya ulangi penyebab tingkat jaringan yang bisa berubah: timeout dan error gateway seperti 502 atau 504. Koneksi ditolak, kegagalan DNS, atau 407 akan terus berulang sampai Anda mengubah konfigurasi, jadi anggap itu fatal dalam penanganan error Anda.

Bagaimana Cannot connect to proxy (ProxyError) berlaku untuk CrawlRelay?

Untuk CrawlRelay, URL proxy adalah http://USERNAME:PASSWORD@ diikuti host gateway dan port HTTP yang tertera di bawah, untuk target HTTP dan HTTPS sama-sama. Gunakan URL http:// yang sama untuk kunci http dan https di requests: skema menentukan protokol untuk proxy, bukan untuk situs web.

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: SSL: WRONG_VERSION_NUMBER · 407 · Panduan Python.

Cannot connect to proxy (ProxyError): pertanyaan yang sering ditanyakan pengembang

Apa arti 'Max retries exceeded with url' dengan proxy?

Itu berarti urllib3 menyerah setelah habis jatah percobaan ulang, dan alasan sebenarnya muncul di bagian 'Caused by' pesan. Dengan proxy, bagian itu biasanya ProxyError dengan penyebab bersarang: connection refused, timeout, kegagalan resolve nama, atau status tunnel seperti 407.

Kenapa requests menggunakan proxy yang tidak saya konfigurasi?

requests secara default membaca variabel lingkungan HTTP_PROXY, HTTPS_PROXY dan NO_PROXY, dan di Windows juga membaca pengaturan proxy sistem. Nilai leftover lalu menimpa ekspektasi Anda. Setel session.trust_env = False, atau berikan proxies secara eksplisit di setiap permintaan.

Apakah saya harus menulis http:// atau https:// di depan alamat proxy?

Tulis http:// untuk proxy HTTP, meskipun situsnya menggunakan HTTPS. Skema menggambarkan bagaimana klien Anda berbicara ke proxy. Menulis https:// membuat versi urllib3 baru mulai TLS dengan proxy, yang gagal pada port proxy HTTP biasa dengan error SSL.

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