# Proxy-Konfiguration für Browser-Nutzung: Pro-Sitzung Exit-IPs

Suchen Sie nach einem Proxy für die Browser-Nutzung und Google zeigt Ihnen das Einstellungsdialogfeld von Chrome. Das ist die andere Sache: die Bibliothek für Browser-Nutzung KI-Agenten über authentifizierte, residierende IPs zu leiten, eine pro Agent.

Suchen Sie nach **Proxy für Browser-Nutzung** und Google zeigt Ihnen das Einstellungsdialogfeld von Chrome, die `chrome.proxy` Erweiterungs-API und ein Tutorial für eine Unternehmens-PAC-Datei. Nichts davon ist das, wonach Sie gesucht haben. Sie möchten [browser-use](https://github.com/browser-use/browser-use) - die Python-Bibliothek mit 108k GitHub-Sternen, die es einem LLM ermöglicht, einen echten Browser zu steuern - über einen authentifizierten Proxy leiten, damit Ihr Agent nicht von Ihrer Büro-IP aus ein Ziel bombardiert. Dies ist der Leitfaden: wo der Parameter tatsächlich lebt, warum er nach einem Upgrade stillschweigend aufhört zu funktionieren, wie man jedem parallelen Agenten seine eigene Exit-IP gibt und was passiert, wenn die IP während einer langen Aufgabe wechselt.

## Wo der Proxy-Parameter für die Browser-Nutzung tatsächlich lebt

Der Proxy ist eine Eigenschaft der *Browsersitzung*, nicht des Agenten. In der aktuellen Bibliothek ist `Browser` ein Alias für `BrowserSession` - die Dokumentation ist explizit, dass sie genau die gleiche Klasse sind - also gilt jedes Tutorial, das Sie mit einem Namen finden, auch für den anderen. Der Parameter ist `proxy`, und die Dokumentation typisiert ihn als `ProxySettings` mit vier Feldern: `server`, `bypass`, `username` und `password`. Ein äquivalentes Dict funktioniert, was die meisten Leute übergeben:

```python
import asyncio
from browser_use import Agent, Browser
# llm = ...  your model of choice; see the browser-use docs for the import

PROXY = {
    "server": "http://residentialpremium.quantumproxies.io:8080",  # scheme is mandatory
    "username": "USER",
    "password": "PASS",
    "bypass": "localhost,127.0.0.1",                  # keep local calls off the proxy
}

browser = Browser(proxy=PROXY, headless=False)

async def main():
    agent = Agent(
        task="Open https://api.ipify.org?format=json and report the IP you see",
        llm=llm,
        browser_session=browser,
    )
    await agent.run()

asyncio.run(main())
```

Zwei Details, die Menschen falsch machen. Erstens, Anmeldedaten gehören in die Felder `username` und `password`, nicht in `server` gestopft - Chromium wird keine Proxy-Auth-Herausforderung von einem URL-eingebetteten Passwort beantworten, und browser-use hat keinen Dialog, um es einzugeben. Zweitens, `server` benötigt ein Schema. `residentialpremium.quantumproxies.io:8080` ist keine Proxy-URL; `http://residentialpremium.quantumproxies.io:8080` ist es. Wenn Anmeldedaten Ihnen überhaupt Probleme bereiten, entfernt [das Whitelisting der IP Ihres Servers](https://quantumproxies.io/residential-proxies) Benutzer:Passwort vollständig aus der Gleichung - das Gateway erkennt den Anrufer und der Browser sieht nie einen 407.

## Warum Ihre Proxy-Konfiguration für die Browser-Nutzung stillschweigend nichts tut

Die meistbesuchte Seite zu diesem Thema nach der Dokumentation ist GitHub Issue #2445, eingereicht im Juli 2025: ein Proxy, der in 0.1.45 funktionierte, hörte auf, in 0.5.4 wirksam zu sein, und der einzige Hinweis war, dass der Agent fröhlich `DNS_PROBE_FINISHED_NXDOMAIN` in seiner eigenen Zusammenfassung meldete. Diese Fehlermodus - der Agent erzählt von einem Netzwerkfehler, als wäre es eine Tatsache über die Website - ist das Kennzeichen eines halbkonfigurierten Proxys. Arbeiten Sie diese Liste durch, bevor Sie mehr Tokens verbrennen:

1. Sie haben `proxy=` an eine Sitzung übergeben, die der Agent nie erhalten hat. Erstellen Sie einen `Browser`, übergeben Sie genau dieses Objekt und lassen Sie keine Standardsitzung hinter Ihrem Rücken erstellen.
2. Sie haben `cdp_url` gesetzt. Die Verbindung zu einem bereits laufenden Chrome bedeutet, dass der Proxy zu den Start-Flags dieses Browsers gehört (`--proxy-server=...`), nicht zu Ihrer Sitzungs-Konfiguration - browser-use kann es nicht nachträglich einfügen.
3. Eine globale `HTTP_PROXY` oder `HTTPS_PROXY` Umgebungsvariable kämpft gegen die Sitzungseinstellung oder schlimmer noch, leitet Ihre LLM-API-Anrufe leise durch gemessene Bandbreite.
4. Der Proxy selbst ist tot. Testen Sie ihn zuerst außerhalb des Agenten - es kostet nichts und schließt die Hälfte des Suchraums aus.

```python
import requests

PROXY_URL = "http://USER:PASS@residentialpremium.quantumproxies.io:8080"
r = requests.get(
    "https://api.ipify.org?format=json",
    proxies={"http": PROXY_URL, "https": PROXY_URL},
    timeout=20,
)
print(r.status_code, r.text)   # must NOT be your own IP
```

Wenn das eine fremde IP druckt, sind die Anmeldedaten und das Gateway in Ordnung und das Problem liegt in der Sitzungsverkabelung. Wenn es Ihre eigene Adresse oder eine 407 druckt, beheben Sie das zuerst. Unser kostenloser [IP-Checker](https://quantumproxies.io/ip-checker) zeigt Ihnen, wie der Exit von der anderen Seite aussieht - ASN, Typ und Ruf - was das zweite ist, was Sie überprüfen sollten, wenn Seiten geladen werden, aber jede von ihnen ein CAPTCHA ist.

![Ein browser-use-Agent, der seine IP melden soll, gibt DNS_PROBE_FINISHED_NXDOMAIN wieder, als wäre es eine Tatsache über die Website, das Zeichen eines halb konfigurierten Proxys. Die Karte ordnet Symptome den Lösungen zu: ein DNS-Fehler, die eigene IP wird angezeigt, eine Konfiguration, die unter 0.1.45 funktionierte, oder eine globale HTTPS_PROXY-Variable, die mit der Sitzung kollidiert.](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785776552/blog/generated/qp-b10-005-diag1.png)
*Die Konfiguration sieht normalerweise richtig aus. Der Fehler liegt fast immer bei der Sitzung, die der Agent tatsächlich erhalten hat, dem fehlenden Schema oder einer globalen Umgebungsvariable.*

## Ein Proxy pro Sitzung, damit parallele Agenten keine Exit-IP teilen

Das ist der ganze Grund, warum der Parameter auf der Sitzung sitzt und nicht auf einer globalen Konfiguration. Führen Sie zehn Agenten durch einen gemeinsamen `Browser` und das Ziel sieht zehnmal den Verkehr von einer Adresse, was der schnellste Weg ist, eine residierende IP zu verbrennen. Bauen Sie die Sitzung stattdessen innerhalb der Coroutine auf und geben Sie jedem eine eigene Sticky-Sitzungskennung, damit das Gateway sie für die Dauer der Aufgabe an einen einzigen Exit bindet:

```python
import asyncio, secrets
from browser_use import Agent, Browser

def session_proxy(sid: str, country: str = "us"):
    return {
        "server": "http://residentialpremium.quantumproxies.io:8080",
        "username": f"USER-country-{country}-sid-{sid}-ttl-30m",
        "password": "PASS",
    }

async def run_task(task: str, country: str):
    sid = secrets.token_hex(3)                  # e.g. a1b2c3
    browser = Browser(
        proxy=session_proxy(sid, country),
        user_data_dir=None,                     # incognito: no shared cookies
        allowed_domains=["*.example.com"],      # keep the agent on target
    )
    agent = Agent(task=task, llm=llm, browser_session=browser)
    return await agent.run()

async def main():
    await asyncio.gather(
        run_task("Find the price of SKU-1", "us"),
        run_task("Find the price of SKU-1", "de"),
        run_task("Find the price of SKU-1", "gb"),
    )

asyncio.run(main())
```

Drei Flags leisten dort echte Arbeit. `user_data_dir=None` läuft im Inkognito-Modus, sodass Agenten nicht die Cookies des anderen erben und leise zwei Identitäten auf ein Profil zusammenführen können. `allowed_domains` beschränkt die Navigation auf eine Musternliste - beachten Sie, dass Platzhalter in der TLD-Position, wie `example.*`, absichtlich abgelehnt werden, und Listen mit mehr als hundert Einträgen werden in Sets optimiert, wobei die Mustererkennung ausgeschaltet wird. Und die Sitzungskennung im Benutzernamen ist das, was die Exit-IP stabil macht; die genauen Flag-Namen für Land und Sitzung befinden sich in Ihrem Dashboard, aber die Form ist überall gleich.

## Das Exit-Land pro Aufgabe wählen

Agenten, die einkaufen, Preise vergleichen oder Verfügbarkeiten prüfen, liegen standardmäßig falsch, wenn sie aus dem falschen Land surfen. Da der Proxy pro Sitzung ist, ist das Land ein Argument pro Aufgabe - tauschen Sie `country-us` gegen `country-de` und die gleiche Aufgabe liefert deutsche Preise. Wählen Sie aus den über 200 Ländern im Pool und halten Sie den Rest des Browsers damit kohärent: übergeben Sie eine passende Sprache durch `args` (Chromium akzeptiert `--lang=de-DE`), anstatt eine deutsche Exit-IP Seiten in US-Englisch anfordern zu lassen. Für ausschließlich mobile Oberflächen und die vertrauenswürdigsten Exits verhalten sich [mobile IPs](https://quantumproxies.io/mobile-proxies) wieder anders, da Carrier-NAT Tausende von echten Nutzern hinter derselben Adresse platziert.

[Geben Sie jedem Agenten seine eigene residierende Exit-IP](https://quantumproxies.io/residential-proxies)

![Drei browser-use-Agenten, jeder in seiner eigenen Aufgabe mit eigenem Browser und einer Sticky-Proxy-Sitzung im Benutzernamen erstellt, erreichen dasselbe Ziel von unterschiedlichen Residential-Exits in den USA, Deutschland und Großbritannien. Die Karte listet die Regeln auf: ein Browser pro Agent, eine Sticky-Sitzung pro Browser, keine geteilten Cookies.](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785776552/blog/generated/qp-b10-005-diag2.png)
*Bauen Sie die Sitzung innerhalb der Aufgabe auf, nicht außerhalb. Ein Browser pro Agent, eine Sticky-Sitzung pro Browser, eine IP pro Identität.*

## Was passiert, wenn die IP während der Aufgabe rotiert

Agenten sind langsam auf eine Weise, wie es Scraper nicht sind. Zwischen der standardmäßigen 0,5s Pause nach jeder Aktion, einer Mindestwartezeit von 0,25s für den Seitenzustand und einer 0,5s Wartezeit für das Netzwerk-Idle verbringt browser-use über eine Sekunde pro Schritt, bevor das Modell etwas gesagt hat - und die Modell-Rundreise dauert normalerweise mehrere Sekunden mehr. Eine Aufgabe mit fünfzehn Schritten läuft daher ein bis zwei Minuten Echtzeit. Wenn Ihre Exit-IP pro Anfrage rotiert, wird die Seite bei jedem dieser Schritte eine andere Adresse sehen: der Login fällt weg, der Warenkorb leert sich und der Agent meldet, dass der Checkout-Button verschwunden ist.

Die Lösung ist eine Sticky-Sitzung, deren Fenster bequem Ihre schlimmste Aufgabendauer übersteigt, nicht Ihre durchschnittliche. Zeit ein paar echte Läufe, nehmen Sie den langsamsten und fügen Sie eine Marge hinzu - Agenten wiederholen sich, und eine Wiederholung verdoppelt die Uhr. Wenn eine Aufgabe wirklich länger als jedes Sticky-Fenster dauern muss, teilen Sie sie auf: loggen Sie sich ein und exportieren Sie den Zustand, dann setzen Sie in einer neuen Sitzung mit den Cookies fort, die Sie über `storage_state` gespeichert haben. Und wenn Sie überhaupt zwischen pro-Anfrage-Rotation und Sticky wählen, deckt unsere [Infrastruktur-Checkliste für KI-Agenten](https://quantumproxies.io/blog/web-infrastructure-ai-agents) den Rest der Schicht um diese Entscheidung ab.

## Halten Sie den Proxy von Ihren LLM-Anrufen fern

Das kostet echtes Geld und fast niemand bemerkt es. Das Setzen von `HTTPS_PROXY` als Umgebungsvariable, um den Proxy "überall anzuwenden", leitet auch jeden Modell-API-Anruf durch Ihr residierendes Gateway - Eingabeaufforderungen und Antworten, bei jedem Schritt, abgerechnet pro Gigabyte für das Privileg, den langen Weg zu gehen. Konfigurieren Sie den Proxy nur auf dem `Browser` und lassen Sie die Prozessumgebung in Ruhe. Während Sie Bytes zählen, beachten Sie, dass browser-use uBlock Origin standardmäßig über `enable_default_extensions` lädt: lassen Sie es eingeschaltet, denn jede Werbeanfrage, die es blockiert, ist eine, die Sie nicht bezahlen. Die vollständige Arithmetik finden Sie in unserer Aufschlüsselung von [was ein KI-Agent in Bandbreite kostet](https://quantumproxies.io/blog/ai-agent-bandwidth-cost-proxies), und die klassische Scraping-Version des Kompromisses finden Sie in [headless browser vs HTTP requests](https://quantumproxies.io/blog/headless-browser-vs-http-requests-cost).

## Häufig gestellte Fragen

### Wie setze ich einen Proxy in browser-use?

Übergeben Sie `proxy=`, wenn Sie den `Browser` (auch als `BrowserSession` exportiert) konstruieren, und übergeben Sie dann dieses Objekt an den `Agent`. Der Wert enthält `server` mit einem expliziten `http://` Schema, plus `username`, `password` und eine optionale `bypass` Liste. Es gibt keine Proxy-Einstellung auf Agentenebene - sie gehört zur Sitzung.

### Warum funktioniert meine Proxy-Konfiguration für die Browser-Nutzung nicht?

In der Reihenfolge der Wahrscheinlichkeit: der Agent läuft auf einer anderen Sitzung als der, die Sie konfiguriert haben, `server` fehlt das Schema, Sie haben `cdp_url` gesetzt, sodass der Browser anderswo ohne Proxy-Flags gestartet wurde, oder eine globale Proxy-Umgebungsvariable überschreibt Sie. Überprüfen Sie den Proxy zuerst mit einem einfachen HTTP-Client - ein DNS-Fehler im Agentenprotokoll bedeutet normalerweise, dass überhaupt kein Proxy angehängt ist.

### Kann jeder browser-use Agent eine andere IP verwenden?

Ja, und das sollten Sie auch. Erstellen Sie den `Browser` innerhalb jeder Aufgaben-Coroutine mit eigenen Proxy-Anmeldedaten, anstatt eine Instanz zu teilen. Das Hinzufügen einer eindeutigen Sitzungskennung zum Gateway-Benutzernamen fixiert jeden Agenten an einem eigenen Exit für die Dauer seines Laufs, sodass zehn parallele Agenten wie zehn Benutzer aussehen, anstatt wie ein sehr beschäftigter.

### Welcher Proxy-Typ eignet sich am besten für browser-use Agenten?

Rotierende residierende für Forschung und Preisüberprüfungen, bei denen jede Aufgabe unabhängig ist, Sticky-residierende für alles mit Login oder Warenkorb, und mobile, wenn das Ziel feindlich oder nur mobil ist. Rechenzentrums-IPs sind in Ordnung für interne Ziele und ungeschützte Seiten, und sie sind pro Gigabyte viel günstiger - was wichtig ist, da ein Browser-Agent viele Gigabytes bewegt.

### Verhindert ein Proxy, dass browser-use erkannt wird?

Nein. Ein Proxy behebt nur die IP-Schicht; der Fingerabdruck eines automatisierten Chromium ist ein separates Problem, ebenso wie das Verhalten eines Agenten, der mit millisekundengenauer Präzision klickt. Vertrauenswürdige residierende Exits entfernen das einfachste Signal, aber kombinieren Sie sie mit einem auf Stealth ausgerichteten Browser-Build, wenn das Ziel ernsthafte Bot-Verwaltung betreibt.

Nichts hier ist exotisch: der Proxy ist eine Sitzungseigenschaft, und die beiden Dinge, die ihn brechen, sind ein fehlendes Schema und eine Sitzung, die Sie nie übergeben haben. Machen Sie diese richtig, geben Sie jedem parallelen Agenten seinen eigenen Sticky-Exit, und halten Sie das Gateway von Ihren Modell-API-Anrufen fern. Für das größere Bild siehe unsere [Karte der Anti-Detect-Frameworks und authentifizierten Proxies](https://quantumproxies.io/blog/anti-detect-frameworks-authenticated-proxies-map).

[Führen Sie browser-use auf über 90 Millionen residierenden IPs in über 200 Ländern aus](https://quantumproxies.io/residential-proxies)
