# Selenium statisches Proxy-Setup für Chrome

> Selenium statisches Proxy-Setup für Chrome: warum ein Login in --proxy-server fehlschlägt und 2 getestete Lösungen, IP-Allowlist oder ein lokaler Forwarder. Ohne KYC, mit Krypto bezahlen.

- URL: https://steadyproxy.com/de/guides/selenium-static-proxy/
- Zuletzt aktualisiert: 2026-10-19
- Publisher: SteadyProxy (https://steadyproxy.com)

Chrome nimmt einen Proxy-Host und -Port, keinen Login. Autorisiere deinen Rechner per IP, oder lass einen kleinen lokalen Forwarder den Login hinzufügen.

**Kurze Antwort — Wie verwende ich ein statisches Proxy mit Selenium und Chrome?**

Für ein statisches Selenium-Proxy in Chrome darfst du Benutzername und Passwort nicht in --proxy-server schreiben: Chrome nimmt dort nur ein Schema, einen Host und einen Port. Verwende eine von zwei funktionierenden Methoden. Autorisiere deinen Rechner in der IP-Allowlist des Proxys, oder betreibe einen kleinen lokalen Forwarder, der den Login für Chrome hinzufügt. **SteadyProxy** Login-Optionen: Benutzername und Passwort oder eine IP-Allowlist (bis zu 10 IPs). Aktualisiert am 19. Oktober 2026.

## Was sind die wichtigsten Fakten?

| Attribut | Wert |
| --- | --- |
| Chrome-Schalter | --proxy-server=http://host:port, ohne Feld für einen Login |
| Methode 1 | IP-Allowlist: bis zu 10 deiner eigenen IPs verbinden sich ohne Passwort |
| Methode 2 | Lokaler Forwarder auf 127.0.0.1:8899 fügt den Proxy-Authorization-Header hinzu |
| Vermeiden | user:password innerhalb von --proxy-server; Browser-Plug-ins unbekannter Herkunft |
| Prüfen | api.ipify.org im gesteuerten Browser öffnen |
| Getestet | Forwarder leitete HTTPS- und HTTP-Anfragen durch ein passwortgeschütztes Test-Proxy, 19. Oktober 2026 |

## Warum lehnt Chrome Zugangsdaten in der Proxy-URL ab?

Chromes --proxy-server-Schalter akzeptiert ein Schema, einen Host und einen Port. Die Chromium-Dokumentation zu Netzwerkeinstellungen zeigt in diesem Format keinen Benutzernamen und kein Passwort. Wenn ein Proxy einen Login verlangt, würde eine Person ein Anmeldefeld sehen, aber ein von Selenium gesteuertes Skript kann es nicht zuverlässig ausfüllen. Der Login muss also außerhalb von Chrome erfolgen: entweder vertraut das Proxy der IP deines Rechners, oder ein Helfer auf deinem Rechner sendet den Login für Chrome.

## Wie verwende ich die IP-Allowlist mit Selenium?

Das ist die einfachste Methode. Finde die öffentliche IP deines Rechners, indem du api.ipify.org ohne das Proxy öffnest. Füge diese IP zur Allowlist deines SteadyProxy-Kontos hinzu; du kannst bis zu 10 Quell-IPs registrieren. Übergib dann nur Host und Port an Chrome. Das Beispiel verwendet den HTTP-Port; SOCKS5 funktioniert genauso mit socks5:// und dem SOCKS5-Port. Unser [Allowlist-Leitfaden](https://steadyproxy.com/de/guides/ip-allowlisting/) erklärt beide Richtungen der Allowlist.

*selenium_allowlist.py: Chrome nur mit Host und Port*

```python
"""Selenium + Chrome through a static proxy authorised by IP allowlist.

Install: python -m pip install selenium
Before running: add this machine's public IP to the allowlist of your account.
"""
import os

from selenium import webdriver
from selenium.webdriver.common.by import By

HOST = os.environ.get("PROXY_HOST", "gw.steadyproxy.com")
PORT = os.environ.get("PROXY_PORT", "7777")

options = webdriver.ChromeOptions()
# Host and port only: Chrome's --proxy-server switch has no field for a username or password
options.add_argument("--proxy-server=http://" + HOST + ":" + PORT)

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://api.ipify.org?format=json")
    print("Exit IP:", driver.find_element(By.TAG_NAME, "body").text)
finally:
    driver.quit()

```

## Wie fügt ein lokaler Forwarder den Login hinzu?

Ein lokaler Forwarder lauscht auf 127.0.0.1, empfängt Chromes Proxy-Anfragen ohne Login, fügt den Proxy-Authorization-Header hinzu und leitet sie an dein statisches Proxy weiter. Er nutzt nur die Python-Standardbibliothek. Er verarbeitet HTTPS über CONNECT-Tunnel und einfaches http:// mit einer Anfrage pro Verbindung. Binde ihn an 127.0.0.1, damit kein anderer Rechner dein Proxy darüber nutzen kann. Wir haben ihn am 19. Oktober 2026 mit curl über HTTPS und HTTP getestet, durch ein Test-Proxy, das Anfragen ohne den richtigen Login ablehnt.

*local_forwarder.py: 127.0.0.1:8899 zu deinem statischen Proxy*

```python
"""Local forwarder: Chrome -> 127.0.0.1:8899 (no login) -> static proxy (with login).

It adds the Proxy-Authorization header for you. Keep it bound to 127.0.0.1.
Run: python local_forwarder.py   (standard library only)
"""
import asyncio
import base64
import os

LISTEN_PORT = int(os.environ.get("LOCAL_PORT", "8899"))
UPSTREAM_HOST = os.environ.get("PROXY_HOST", "gw.steadyproxy.com")
UPSTREAM_PORT = int(os.environ.get("PROXY_PORT", "7777"))
CREDENTIALS = os.environ.get("PROXY_USER", "USERNAME") + ":" + os.environ.get("PROXY_PASS", "PASSWORD")
AUTH = "Proxy-Authorization: Basic " + base64.b64encode(CREDENTIALS.encode()).decode()
DROP = ("proxy-authorization:", "proxy-connection:", "connection:")


async def pipe(reader, writer):
    try:
        while data := await reader.read(65536):
            writer.write(data)
            await writer.drain()
    except ConnectionError:
        pass
    finally:
        writer.close()


async def handle(client_reader, client_writer):
    try:
        head = await client_reader.readuntil(b"\r\n\r\n")
    except (asyncio.IncompleteReadError, asyncio.LimitOverrunError):
        client_writer.close()
        return
    lines = head.decode("latin-1").split("\r\n")
    headers = [h for h in lines[1:] if h and not h.lower().startswith(DROP)]
    headers.append(AUTH)
    if not lines[0].upper().startswith("CONNECT "):
        headers.append("Connection: close")  # plain http:// - one request per connection
    try:
        up_reader, up_writer = await asyncio.open_connection(UPSTREAM_HOST, UPSTREAM_PORT)
    except OSError:
        client_writer.write(b"HTTP/1.1 502 Bad Gateway\r\nContent-Length: 0\r\n\r\n")
        client_writer.close()
        return
    up_writer.write(("\r\n".join([lines[0]] + headers) + "\r\n\r\n").encode("latin-1"))
    await up_writer.drain()
    await asyncio.gather(pipe(client_reader, up_writer), pipe(up_reader, client_writer))


async def main():
    server = await asyncio.start_server(handle, "127.0.0.1", LISTEN_PORT)
    print("Forwarding 127.0.0.1:%d -> %s:%d" % (LISTEN_PORT, UPSTREAM_HOST, UPSTREAM_PORT))
    async with server:
        await server.serve_forever()


if __name__ == "__main__":
    asyncio.run(main())

```

Starte den Forwarder in einem Terminal und führe dann Selenium mit der lokalen Adresse aus. Chrome sieht das Passwort nie, und der Login bleibt in Umgebungsvariablen auf deinem Rechner.

*selenium_forwarder.py: Chrome über den lokalen Forwarder*

```python
"""Selenium + Chrome through the local forwarder (username/password kept out of Chrome).

Start local_forwarder.py first, then run this file.
"""
from selenium import webdriver
from selenium.webdriver.common.by import By

options = webdriver.ChromeOptions()
options.add_argument("--proxy-server=http://127.0.0.1:8899")

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://api.ipify.org?format=json")
    print("Exit IP:", driver.find_element(By.TAG_NAME, "body").text)
finally:
    driver.quit()

```

## Wie betreibe ich mehrere statische IPs mit Selenium?

Betreibe einen Forwarder pro IP auf einem eigenen lokalen Port, etwa 8899, 8900 und 8901, jeweils mit den Zugangsdaten dieser IP. Starte einen Chrome-Treiber pro Port. Mit der IP-Allowlist überspringst du die Forwarder und übergibst jedem eigenen Treiber Host und Port der jeweiligen IP. Gib jedem Treiber ein eigenes --user-data-dir, wenn er Cookies zwischen Läufen behalten muss. Prüfe jeden Treiber mit api.ipify.org, bevor du echte Arbeit startest.

## Gibt es dasselbe Problem auch mit Firefox und Selenium?

Ja, in ähnlicher Form. Firefox liest Proxy-Host und -Port aus seinen Einstellungen, und ein HTTP-Proxy-Login erscheint als Dialog, den die Automatisierung nicht zuverlässig ausfüllen kann. Dieselben zwei Methoden funktionieren: die IP-Allowlist oder der lokale Forwarder mit Firefox' HTTP-Proxy auf 127.0.0.1 und Port 8899. Für ein Browser-Automatisierungstool mit integriertem Proxy-Login siehe den [Playwright-Leitfaden](https://steadyproxy.com/de/guides/playwright-static-proxy/).

## Was fragen Leute noch über Selenium und statische Proxys?

### Kann ich http://user:password@host:port in --proxy-server schreiben?

Es funktioniert nicht zuverlässig. Chromes dokumentiertes Format für --proxy-server hat keinen Platz für einen Login, daher werden die Zugangsdaten nicht verwendet. Anfragen schlagen dann mit einem Proxy-Authentifizierungsfehler fehl oder zeigen ein Anmeldefeld. Verwende die IP-Allowlist oder den auf dieser Seite beschriebenen lokalen Forwarder.

### Ist eine Chrome-Erweiterung ein guter Weg, den Proxy-Login zu senden?

Es kann funktionieren, aber es fügt Code mit weitreichenden Berechtigungen zum Browser hinzu, den du automatisierst, und Erweiterungsregeln ändern sich zwischen Chrome-Versionen. Die beiden Methoden hier haben keine beweglichen Teile innerhalb von Chrome. Wenn du eine Erweiterung verwendest, schreibe sie selbst oder prüfe sie, und halte sie aus Profilen heraus, die für andere Arbeit genutzt werden.

### Ist der lokale Forwarder sicher?

Er lauscht nur auf 127.0.0.1, daher können ihn nur Programme auf deinem Rechner nutzen. Jeder mit Zugriff auf deinen Rechner könnte ihn ebenfalls nutzen, da er deine Umgebungsvariablen lesen könnte. Stoppe ihn, wenn die Arbeit erledigt ist. Standardmäßig protokolliert er nichts; aktiviere Logging nur ohne den Proxy-Authorization-Header.

### Wie finde ich die öffentliche IP für die Allowlist?

Öffne auf dem Rechner, auf dem Selenium läuft, https://api.ipify.org ohne den Proxy. Das ist die Adresse, die der Proxy sieht. Wenn dein Büro oder Server eine feste IP hat, nimm sie einmal in die Allowlist auf. Ein Heimanschluss mit wechselnder IP ist ungeeignet; verwende stattdessen den Forwarder mit Benutzername und Passwort.

### Löst Selenium Wire oder eine ähnliche Bibliothek das Problem?

Manche Bibliotheken fügen Selenium die Proxy-Anmeldung hinzu, indem sie einen eigenen abfangenden Proxy betreiben, ganz ähnlich wie der Forwarder hier. Prüfe, ob eine Bibliothek noch gepflegt wird, bevor du dich darauf verlässt. Der Forwarder auf dieser Seite umfasst etwa 60 Zeilen Standard-Python, die du vollständig lesen kannst.

### Wie viele IPs kann ich für Selenium-Rechner in die Allowlist aufnehmen?

Bis zu 10 Quell-IPs auf deinem SteadyProxy-Konto, was die meisten Büros und Serverflotten abdeckt. Unsere Login-Optionen sind: Benutzername und Passwort oder eine IP-Allowlist (bis zu 10 IPs). Wenn du Selenium auf mehr Rechnern betreibst, leite sie über einen Server mit fester IP oder verwende den Forwarder mit Benutzername und Passwort auf jedem Rechner.

## Welche Quellen verwendet dieser Leitfaden?

1. [Netzwerkeinstellungen (--proxy-server-Format)](https://www.chromium.org/developers/design-documents/network-settings/) — The Chromium Projects (2026-10-19)
2. [asyncio-Streams](https://docs.python.org/3/library/asyncio-stream.html) — Python Software Foundation (2026-10-19)
3. [Selenium WebDriver: Chrome-Optionen](https://www.selenium.dev/documentation/webdriver/browsers/chrome/) — Selenium (2026-10-19)

---

SteadyProxy: SteadyProxy ist ein Anbieter statischer Proxys: ISP-IPs (statische Residential-IPs) und dedizierte Datacenter-IPs, pro IP für 30 Tage gemietet, mit Krypto bezahlt und ohne Ausweis-Upload.
