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

> requests.exceptions.ProxyError 'Tidak Dapat Terhubung ke Proxy' dijelaskan: baca penyebab terdalam (ditolak, timeout, DNS, 407, 502) dan terapkan perbaikan yang tepat.

- URL: https://crawlrelay.com/id/docs/errors/cannot-connect-to-proxy/
- Terakhir diperbarui: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

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

**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

| Atribut | Nilai |
| --- | --- |
| Kesalahan | Cannot connect to proxy (ProxyError) |
| Tipe | Kesalahan pustaka klien (Python, Node.js) |
| Dikirim oleh | Klien HTTP Anda, sebelum atau selama berbicara ke proxy |
| Didefinisikan dalam | Library error; read the nested cause for the real reason |
| Mencoba lagi? | Tergantung penyebab di dalamnya |
| Periksa pertama | Baca 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)*

```bash
# 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:PASSWORD@gw.crawlrelay.com: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](https://crawlrelay.com/id/docs/errors/407-proxy-authentication-required/).
- **502 atau 504:** coba ulang pada exit baru. lihat [502](https://crawlrelay.com/id/docs/errors/502-bad-gateway/) dan [504](https://crawlrelay.com/id/docs/errors/504-gateway-timeout/).
- **Proxy lingkungan yang tidak diinginkan:** setel `session.trust_env = False` di requests, atau bersihkan variabelnya.

*Python: buat URL proxy dengan kredensial yang dikodekan*

```python
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](https://crawlrelay.com/id/docs/errors/ssl-wrong-version-number/) · [407](https://crawlrelay.com/id/docs/errors/407-proxy-authentication-required/) · [Panduan Python](https://crawlrelay.com/id/docs/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

- [401 Unauthorized vs 407](https://crawlrelay.com/id/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/id/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/id/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/id/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/id/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/id/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/id/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/id/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/id/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/id/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/id/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/id/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/id/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/id/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/id/docs/errors/ssl-wrong-version-number/)

**Proxy residensial dengan dokumentasi yang membahas kasus kegagalan** Proxy residensial CrawlRelay dari US$0,50/GB, lalu lintas yang tidak pernah kedaluwarsa. [Lihat harga](https://crawlrelay.com/id/pricing/) · [Mulai cepat](https://crawlrelay.com/id/docs/)

---

CrawlRelay: CrawlRelay adalah layanan proxy residensial dan proxy seluler 4G/5G yang berfokus pada pengembang untuk scraper dan pipeline data AI: trafik pay-as-you-go tanpa kedaluwarsa mulai dari US$0,50/GB, dibayar dengan crypto, tanpa perlu unggah ID. Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan crypto.
