# ProxyError: 'Kan geen verbinding maken met proxy' in Python en Node.js

> requests.exceptions.ProxyError 'Kan geen verbinding maken met proxy' uitgelegd: lees de onderliggende oorzaak (geweigerd, time-out, DNS, 407, 502) en pas de juiste oplossing toe.

- URL: https://crawlrelay.com/nl/docs/errors/cannot-connect-to-proxy/
- Laatst bijgewerkt: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Clientbibliotheekfout (Python, Node.js): het exacte bericht in elk hulpmiddel, de waarschijnlijke oorzaken in volgorde, en de oplossing die werkt.

**Kort antwoord — Wat betekent Cannot connect to proxy (ProxyError) bij een proxy?**

**'Kan geen verbinding maken met proxy'** is een wrapperfout: de echte reden zit erin verborgen door Python's requests en urllib3. Lees de diepste oorzaak. 'Verbinding geweigerd' of een time-out betekent een probleem met host, poort of netwerk; 'Kon niet resolveren' betekent DNS; 'Tunnelverbinding mislukt: 407' betekent een probleem met de inloggegevens. Bij CrawlRelay heeft elk van deze een éénregelige oplossing.

## Cannot connect to proxy (ProxyError) in één oogopslag

| Attribuut | Waarde |
| --- | --- |
| Fout | Cannot connect to proxy (ProxyError) |
| Type | Clientbibliotheekfout (Python, Node.js) |
| Verzonden door | Je HTTP-client, vóór of tijdens communicatie met de proxy |
| Gedefinieerd in | Library error; read the nested cause for the real reason |
| Opnieuw proberen? | Afhankelijk van de onderliggende oorzaak |
| Eerst controleren | Lees de binnenste uitzondering: geweigerd, time-out, naamresolutie of een statuscode |

## Wat betekent Cannot connect to proxy (ProxyError)?

urllib3 werpt elke keer een `ProxyError` op bij een mislukking die met de proxy te maken heeft, en requests geeft deze door. De nuttige informatie zit in de geneste uitzondering, die de traceback aan het einde van een lange regel toont.

Node.js clients gedragen zich anders: zij melden direct de socketfout, zoals `ECONNREFUSED` of `ETIMEDOUT`, vaak zonder te zeggen dat het adres dat van de proxy was.

## Hoe ziet 'Cannot connect to proxy' 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:

- **Geweigerd:** `ProxyError('Unable to connect to proxy', NewConnectionError(... Connection refused))`
- **DNS:** `NameResolutionError(... Failed to resolve ...)` binnen de `ProxyError`
- **Inloggegevens:** `OSError('Tunnel connection failed: 407 Proxy Authentication Required')`
- **Gateway-fout:** `OSError('Tunnel connection failed: 502 Bad Gateway')`
- **Node.js:** `Error: connect ECONNREFUSED`, `ETIMEDOUT` of `ENOTFOUND`, gevolgd door het proxy-adres

## Wat veroorzaakt 'Cannot connect to proxy'?

Waarschijnlijk eerst:

- **Verkeerde host of poort** in de proxy-URL.
- **Ontbrekende scheme**: `host:port` zonder `http://` wordt door sommige libraries verrassend geparsed.
- **Geblokkeerd uitgaand verkeer** op jouw netwerk of server.
- **Inloggegevens- of gatewayfouten** die optreden tijdens de CONNECT-stap, verpakt in dezelfde uitzondering.
- **Omgevingsvariabelen** zoals `HTTPS_PROXY` die naar een oude proxy wijzen en je code overschrijven.

## Hoe diagnosticeer ik 'Cannot connect to proxy' stap voor stap?

1. Print de volledige uitzondering en lees de laatste geneste oorzaak.
2. Print `requests.utils.get_environ_proxies(url)` of de variabelen `HTTP_PROXY`, `HTTPS_PROXY` en `NO_PROXY` om te zien wat er nog meer is ingesteld.
3. Voer de curl-test hieronder uit vanaf dezelfde machine.
4. Koppel de oorzaak aan de lijst met oplossingen hieronder.

*Test de foutieve URL met curl (HTTP-poort, uitvoerig)*

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

## Hoe los ik 'Cannot connect to proxy' op?

- **Geweigerd of time-out:** fix de host en poort, of open uitgaand verkeer naar de gateway.
- **Kon niet resolveren:** controleer DNS op de machine; probeer de host met `nslookup`.
- **407:** fix en URL-encode de inloggegevens. Zie [407 Proxy Authentication Required](https://crawlrelay.com/nl/docs/errors/407-proxy-authentication-required/).
- **502 of 504:** probeer opnieuw met een nieuwe exit. Zie [502](https://crawlrelay.com/nl/docs/errors/502-bad-gateway/) en [504](https://crawlrelay.com/nl/docs/errors/504-gateway-timeout/).
- **Ongewenste proxy in omgeving:** zet `session.trust_env = False` in requests, of ruim de variabelen op.

*Python: bouw de proxy-URL met gecodeerde inloggegevens*

```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)
```

## Moet ik opnieuw proberen na 'Cannot connect to proxy'?

Herhaal alleen netwerkfouten die kunnen veranderen: time-outs en gateway-fouten zoals 502 of 504. Een geweigerde verbinding, DNS-fout of 407 herhaalt zich tot je de configuratie verandert; maak die fataal in je foutafhandeling.

## Hoe geldt Cannot connect to proxy (ProxyError) voor CrawlRelay?

Voor CrawlRelay is de proxy-URL `http://USERNAME:PASSWORD@` gevolgd door de onderstaande gateway-host en HTTP-poort, voor zowel HTTP- als HTTPS-doelen. Gebruik dezelfde `http://` URL voor zowel de `http` als `https` keys in requests: het schema bepaalt het protocol tussen client en proxy, niet tussen client en website.

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

## Cannot connect to proxy (ProxyError): vragen die ontwikkelaars stellen

### Wat betekent 'Max retries exceeded with url' met een proxy?

Dat betekent dat urllib3 opgaf na zijn retries; de echte reden volgt in het 'Caused by'-gedeelte. Bij een proxy is dat meestal een ProxyError met een geneste oorzaak: verbinding geweigerd, time-out, naam-resolutie mislukt of een tunnelstatus zoals 407.

### Waarom gebruikt requests een proxy die ik niet heb geconfigureerd?

requests leest standaard de omgevingsvariabelen `HTTP_PROXY`, `HTTPS_PROXY` en `NO_PROXY`, en op Windows ook de systeemproxy-instellingen. Een achtergebleven waarde overschrijft dan jouw verwachtingen. Zet `session.trust_env = False`, of geef de proxies expliciet door bij elke aanvraag.

### Schrijf ik http:// of https:// voor het proxy-adres?

Schrijf `http://` voor een HTTP-proxy, zelfs als de website HTTPS gebruikt. Het schema omschrijft hoe je client met de proxy praat. Schrijven van `https://` laat nieuwere urllib3-versies TLS starten met de proxy, wat faalt op een plain HTTP-proxy-poort met een SSL-fout.

## Andere proxyfouten in deze referentie

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

**Residentiële proxy's met documentatie die de faalgevallen beschrijft** CrawlRelay residentiële proxy's van US$ 0,50/GB, verkeer dat nooit verloopt. [Zie prijslijst](https://crawlrelay.com/nl/pricing/) · [Snelle start](https://crawlrelay.com/nl/docs/)

---

CrawlRelay: CrawlRelay is een developer-first dienst met roterende residentiële proxy's en mobiele 4G-proxy's voor scrapers en AI-datastromen: niet-vervalverkeer op basis van pay-as-you-go vanaf US$ 0,50/GB, betaald in crypto, zonder ID-upload. Zonder KYC — geen ID, geen selfie, geen documenten. Betaal met crypto.
