# 407 Proxy Authentication Required: was es bedeutet und wie Sie das Problem beheben

> HTTP 407 Proxy Authentication Required bedeutet, dass das Proxy Ihre Zugangsdaten abgelehnt hat oder diese nie erhalten hat. Exakte Fehlermeldungen in Python, curl, Node und Lösungsvorschläge.

- URL: https://crawlrelay.com/de/docs/errors/407-proxy-authentication-required/
- Zuletzt aktualisiert: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

HTTP-Statuscode (4xx, Client-Fehler): die genaue Meldung in jedem Tool, wahrscheinliche Ursachen in Reihenfolge und die Lösung, die funktioniert.

**Kurze Antwort — Was bedeutet 407 Proxy Authentication Required bei einem Proxy?**

**407 Proxy Authentication Required** bedeutet, dass das Proxy Ihre Anfrage abgelehnt hat, weil es keine oder falsche Zugangsdaten erhalten hat. Die Ziel-Website wurde nie kontaktiert. Bei CrawlRelay Residential Proxies prüfen Sie drei Dinge: Der Benutzername entspricht dem in Ihrem Dashboard, das Passwort stimmt überein, und Sonderzeichen sind URL-codiert. Ein erneutes Senden derselben Anfrage behebt nie einen 407.

## 407 Proxy Authentication Required auf einen Blick

| Attribut | Wert |
| --- | --- |
| Fehler | 407 Proxy Authentication Required |
| Typ | HTTP-Statuscode (4xx, Client-Fehler) |
| Gesendet von | Das Proxy-Gateway, niemals die Ziel-Website |
| Definiert in | RFC 9110, section 15.5.8 (headers: Proxy-Authenticate 11.7.1, Proxy-Authorization 11.7.2) |
| Noch einmal versuchen? | Nein. Dieselben Zugangsdaten schlagen wieder fehl; beheben Sie zuerst das Problem |
| Zuerst prüfen | Führen Sie den Curl-Test unten mit nur dem Benutzernamen und ohne Zielparameter aus |

## Was bedeutet 407 Proxy Authentication Required?

Ein 407 kommt vom Proxy, nicht von der Website, die Sie erreichen möchten. RFC 9110 beschreibt es als Proxy-Version von 401: Der Client muss sich erst beim Proxy authentifizieren, bevor etwas anderes passiert. Das Proxy sendet einen `Proxy-Authenticate` Header mit dem akzeptierten Authentifizierungsschema, fast immer `Basic`. Ihr Client antwortet mit einem `Proxy-Authorization` Header, der `username:password` Base64-codiert enthält.

Bei einem HTTPS-Ziel kommt der 407 auf die `CONNECT` Anfrage zurück, die den Tunnel öffnet. Daher melden viele Bibliotheken es als Tunnel- oder Verbindungsfehler und nicht als HTTP-Status: die TLS-Sitzung mit der Website wurde nie aufgebaut.

## Wie sieht a 407 in Python, curl, Node.js und Browsern aus?

Der gleiche Fehler wird in jedem Tool anders angezeigt. Hier sind die Meldungen, nach denen Sie in Ihren Logs suchen sollten:

- **Python requests:** `ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 407 Proxy Authentication Required'))`
- **curl:** `curl: (56) CONNECT tunnel failed, response 407`
- **Scrapy:** `TunnelError: Could not open CONNECT tunnel with proxy ... [{'status': 407, 'reason': b'Proxy Authentication Required'}]`
- **Chrome, Playwright, Puppeteer:** `net::ERR_TUNNEL_CONNECTION_FAILED`, oder ein Login-Popup im sichtbaren Browser
- **Node.js-Clients auf einem http:// Ziel:** `Request failed with status code 407`

## Was verursacht a 407?

Wahrscheinlich zuerst:

- **Falscher Benutzername oder Passwort.** Ein Tippfehler, ein altes Passwort nach Zurücksetzung oder Zugangsdaten eines anderen Sub-Users.
- **Nicht-kodierte Sonderzeichen.** Ein Passwort mit `@`, `:`, `/` oder `#` zerstört die `user:pass@host` URL. Prozent-kodieren Sie es: `@` wird zu `%40`, `:` wird zu `%3A`.
- **Ein defekter Ziel-Suffix.** Gateways, die das Ziel aus dem Benutzernamen lesen, sehen nur einen langen Benutzernamen. Ein Tippfehler im Schlüssel oder Ländercode macht daraus einen unbekannten Benutzernamen.
- **Zugangsdaten, die nie Ihren Code verlassen.** Chrome ignoriert einen in `--proxy-server` geschriebenen Benutzernamen und Passwort. Puppeteer benötigt `page.authenticate()`, Selenium benötigt einen lokalen Forwarder.
- **Ein leeres Guthaben.** Prüfen Sie, ob Ihr Konto noch Traffic übrig hat, bevor Sie den Code debuggen.

## Wie diagnostiziere ich a 407 Schritt für Schritt?

1. Testen Sie die Zugangsdaten mit curl ohne Zielparameter (Befehl unten). Eine `HTTP/1.1 407`-Zeile im verbose-Output bestätigt ein Zugangsdatenproblem.
2. Fügen Sie Ihre Zielparameter einzeln wieder hinzu und führen Sie den Test nach jedem hinzugefügten Parameter erneut aus.
3. Protokollieren Sie die Proxy-URL, die Ihr Programm tatsächlich erzeugt, maskieren Sie das Passwort und vergleichen Sie sie Zeichen für Zeichen mit dem Dashboard.
4. Wenn curl erfolgreich ist und Ihr Programm fehlschlägt, sendet die Bibliothek die Zugangsdaten nicht. Lesen Sie die Lösung für Ihr Tool unten.

*Testen Sie die fehlerhafte URL mit curl (HTTP-Port, ausführlich)*

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

## Wie behebe ich a 407?

- **Kodieren Sie die Zugangsdaten** mit `urllib.parse.quote(value, safe='')` in Python oder `encodeURIComponent()` in JavaScript, bevor Sie die URL zusammenbauen.
- **Browser:** Übergeben Sie `username` und `password` im Playwright-`proxy`-Parameter, rufen Sie `page.authenticate()` in Puppeteer auf, und nutzen Sie für Selenium einen lokalen Forwarder. Siehe die Playwright](https://crawlrelay.com/de/docs/playwright/)- und Puppeteer](https://crawlrelay.com/de/docs/puppeteer/)-Anleitungen.
- **Umgebungsvariablen:** Wenn Sie `HTTPS_PROXY` setzen, setzen Sie den kompletten Wert in Anführungszeichen, damit `@` und `$` erhalten bleiben.
- **Rotieren Sie das Passwort** im Dashboard, wenn ein Leak vermutet wird, und aktualisieren Sie alle Scraper, die es nutzen.

*Python: Bau der Proxy-URL mit kodierten Zugangsdaten*

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

*Playwright (Python): Zugangsdaten als separate Felder*

```python
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://gw.crawlrelay.com:7777",
        "username": "USERNAME-country-us",
        "password": "PASSWORD",
    })
    page = browser.new_page()
    response = page.goto("https://api.ipify.org")
    print(response.status, page.inner_text("body"))
    browser.close()
```

## Soll ich nach a 407 einen erneuten Versuch starten?

Versuchen Sie nicht automatisch eine Wiederholung bei einem 407. Eine Wiederholung mit denselben Zugangsdaten liefert dieselbe Antwort, und eine enge Wiederholungsschleife füllt nur Ihre Logs. Behandeln Sie 407 als Konfigurationsfehler: stoppen Sie den Job, beheben Sie die Zugangsdaten und starten Sie neu. Wenn 407 plötzlich in einem wochenlang funktionierenden Job erscheint, wurde wahrscheinlich das Passwort geändert oder der Sub-User deaktiviert.

## Wie wirkt sich 407 Proxy Authentication Required auf CrawlRelay aus?

Das CrawlRelay-Gateway liest bei jeder neuen Verbindung Benutzername und Passwort aus. Ziel- und Sitzungsparameter stecken im Benutzernamen, daher kann ein gültiges Passwort trotzdem bei einem falsch formatierten Suffix fehlschlagen. Bauen Sie den Benutzernamen in einer Hilfsfunktion und protokollieren Sie das Ergebnis beim Start einmal. Die [Quick-Start-Seite](https://crawlrelay.com/de/docs/) zeigt das genaue Format.

Gateway: `gw.crawlrelay.com`, Port 7777 (HTTP, HTTPS über CONNECT) und Port 7778 (SOCKS5). Benutzername im Format: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Verwandt: [401 vs 407](https://crawlrelay.com/de/docs/errors/401-unauthorized/) · [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/de/docs/errors/err-tunnel-connection-failed/) · [Cannot connect to proxy](https://crawlrelay.com/de/docs/errors/cannot-connect-to-proxy/).

## 407 Proxy Authentication Required: Fragen, die Entwickler stellen

### Wird ein 407 von der Website gesendet, die ich scrape?

Nein. Ein 407 wird immer von einem Proxy zwischen Ihnen und der Website gesendet. Die Anfrage erreicht nie die Website, also kann diese Ihren Traffic nicht sehen, zählen oder sperren. Wenn die Website eine Anmeldung wünschte, antwortet sie mit 401. Beheben Sie die Proxy-Zugangsdaten, dann verschwindet der 407.

### Warum bekomme ich 407 in meinem Code, wenn curl mit demselben Proxy funktioniert?

Ihre Bibliothek sendet die Zugangsdaten nicht oder in einer anderen Form. Die gängigen Ursachen sind: Zugangsdaten in einem Browser-Flag, das sie ignoriert; eine Umgebungsvariable mit verlorenen Sonderzeichen; ein nicht URL-kodiertes Passwort. Drucken Sie die Proxy-URL, die Ihr Code erzeugt, mit maskiertem Passwort und vergleichen Sie sie mit dem curl-Befehl.

### Verbraucht ein 407 Datenvolumen aus meinem Tarif?

Eine 407-Antwort ist nur wenige hundert Bytes groß, die Anfrage erreicht das Ziel nie, es wird keine Seite heruntergeladen. Die Kosten liegen anderswo: Ein Scraper, der in einer 407-Wiederholungsschleife steckt, verschwendet Zeit und füllt Ihre Logs. Machen Sie 407 zum Hard-Stop in Ihrer Fehlerbehandlung.

## Weitere Proxy-Fehler in diesem Leitfaden

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

**Residential-Proxys mit Dokumentationen, die Fehlerfälle abdecken** CrawlRelay Residential-Proxys von 0,50 $/GB, Traffic, der nie abläuft. [Preise ansehen](https://crawlrelay.com/de/pricing/) · [Schneller Start](https://crawlrelay.com/de/docs/)

---

CrawlRelay: CrawlRelay ist ein entwicklerfreundlicher rotierender Residential-Proxy- und 4G/5G mobile Proxy-Service für Scraper und KI-Datenpipelines: nicht verfallende Pay-as-you-go-Traffic ab 0,50 $/GB, mit Krypto bezahlt, ohne ID-Upload. Kein KYC — keine ID, kein Selfie, keine Dokumente. Mit Krypto bezahlen.
