Integrationen · Zwischenstufe

Verwendung von Proxys mit Playwright: ein Exit pro Browser oder pro Kontext

Playwright übernimmt den Proxy beim Start oder pro Browserkontext mit Anmeldeinformationen, sodass jeder Kontext eine eigene Sticky-Sitzung in seinem eigenen Land sein kann, ohne den Browser neu starten zu müssen.

2 min Lesezeit 5 Abschnitte Geprüft Redaktion Proxy Cyber

Proxy auf der Startstufe#

Python
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://res.proxy-cyber.com:9000",
        "username": "USER-cc-us-sid-run1-ttl-30m",
        "password": "PASS",
    })
    page = browser.new_page()
    page.goto("https://api.ipify.org")
    print(page.inner_text("body"))
    browser.close()

Verwenden Sie für jeden unabhängigen Workflow eine eindeutige Sitzungskennung, sofern das zugewiesene Gateway dies unterstützt. Bestätigen Sie die zulässigen Dauer- und Standortparameter in Ihren Verbindungsdetails. Ein Heimgerät kann die Verbindung vor Ablauf der angeforderten Dauer trennen; Eine Sticky-Sitzung ist keine Garantie für die gleiche IP-Adresse über mehrere Tage hinweg. Vergleichen Sie für eine feste Adresse ein dediziertes statisches Produkt.

Pro-Kontext-Proxys#

Um mehrere Länder oder Sitzungen in einem Browser auszuführen, starten Sie mit einem Platzhalter-Proxy und geben Sie jedem Kontext seinen eigenen. Chromium benötigt den Proxy auf Startebene, damit Pro-Kontext-Proxys berücksichtigt werden.

Python
browser = p.chromium.launch(proxy={"server": "http://per-context"})

de = browser.new_context(proxy={"server": "http://res.proxy-cyber.com:9000", "username": "USER-cc-de-city-berlin-sid-de1-ttl-30m", "password": "PASS"})
us = browser.new_context(proxy={"server": "http://res.proxy-cyber.com:9000", "username": "USER-cc-us-state-tx-sid-us1-ttl-30m", "password": "PASS"})

Passen Sie den Kontext zum Ausgang an#

Geben Sie jedem Kontext das Gebietsschema und die Zeitzone seines Landes an, damit IP, Sprache und Uhr übereinstimmen: locale=\"de-DE\", timezone_id=\"Europe/Berlin\" für den Berliner Kontext. Nichtübereinstimmungen sind ein stärkeres Bot-Signal als die IP selbst.

Gigabyte speichern: Blockieren Sie, was Sie nicht brauchen#

Python
def block(route):
    if route.request.resource_type in {"image", "media", "font", "stylesheet"}:
        return route.abort()
    return route.continue_()

page.route("**/*", block)

Eine gerenderte Seite kann 3 bis 5 MB wiegen; seine HTML- und API-Aufrufe betragen einige hundert Kilobyte. In einem Pro-GB-Netzwerk senkt diese einzige Regel die Rechnung um 80 bis 90 %.

Verifizieren und Troubleshoot#

  • Öffnen Sie zunächst einen IP-Echo-Dienst und überprüfen Sie das Land. Schauen Sie sich dann eine Geolokalisierungssuche für die Stadt an.
  • A net::ERR_TUNNEL_CONNECTION_FAILED oder ERR_PROXY_CONNECTION_FAILED beim Start bedeutet, dass Anmeldeinformationen oder ein Parameter falsch sind; Testen Sie dieselbe URL mit cURL, um den Gateway-Code zu lesen.
  • WebRTC ist in Playwright-Kontexten standardmäßig nur dann deaktiviert, wenn Sie es blockieren; hinzufügen --disable-webrtc Style-Hardening oder Blockieren von STUN, wenn Privatsphäre wichtig ist.

Fragen, die Menschen stellen#

Kann jeder Tab einen anderen Proxy haben?

Jeder Kontext kann; Registerkarten (Seiten) innerhalb eines Kontexts teilen sich ihren Proxy. Erstellen Sie einen Kontext pro Sitzung oder Land.

Unterstützt Playwright SOCKS5-Proxys mit Authentifizierung?

Chromium akzeptiert keine SOCKS5-Anmeldeinformationen; Verwenden Sie den HTTP-Proxy auf Port 9000 mit Benutzername und Passwort oder setzen Sie Ihre Server-IP auf die Whitelist und verwenden Sie sock5://res.proxy-cyber.com:9001 ohne Anmeldeinformationen.

Dein Konto

Verwalten Sie Ihre Proxies in einem Konto

Vergleichen Sie Netzwerke, geben Sie Bestellungen auf und verfolgen Sie Ihren Kontostand und Supportanfragen über ein Dashboard. Unser Team prüft die Zahlungen und stellt nach der Lieferung Verbindungsdetails bereit.

Konto erstellen