Kurz gesagt: Übergeben Sie proxy mit server, username und password an chromium.launch oder an browser.new_context, um ihn auf einen Kontext zu beschränken. Über HTTP authentifizieren sich alle drei Engines mit diesen Feldern. Über SOCKS5 akzeptiert keine von ihnen Benutzername und Passwort: Playwright verweigert den Start. Tragen Sie Ihre IP in die Whitelist des Proxys ein und geben Sie nur den socks5://-Server an.
Playwright steuert Chromium, Firefox und WebKit über eine einzige API, und der Proxy ist Teil dessen, wie ein Browser oder ein Kontext erzeugt wird. Das macht es leicht, in einem Skript mehrere Adressen zu betreiben, und genau dort liegt auch seine eine harte Grenze: SOCKS5 mit Passwort.
Playwright Proxy in Python
Das Python-Beispiel startet Chromium mit dem Proxy für den ganzen Browser; das Beispiel pro Kontext beschränkt ihn stattdessen auf einen Kontext. Die Engine zu wechseln heißt, chromium durch firefox oder webkit zu ersetzen; das Proxy-Objekt bleibt gleich.
Playwright Proxy-Authentifizierung
Die drei Engines beantworten die 407 des Proxys mit Benutzername und Passwort aus dem Proxy-Objekt, wenn der Proxy HTTP spricht. Ein SOCKS5-Proxy bekommt von keiner von ihnen eine solche Antwort, deshalb enthält das SOCKS5-Beispiel keine Zugangsdaten und stützt sich auf die Whitelist.
Playwright Proxy pro Seite und bypass
Ein Proxy lässt sich nicht an eine einzelne Seite hängen. Die Einheit ist der Kontext: Legen Sie einen Kontext pro Adresse an und öffnen Sie darin die Seiten, die sich diese Adresse teilen sollen. Kontexte kosten in Playwright wenig, sodass ein Skript, das einen Shop aus drei Ländern prüft, drei Kontexte hält, jeden aus seiner eigenen Bestellung gebaut.
Das Proxy-Objekt nimmt außerdem ein Feld bypass, eine kommagetrennte Liste von Hosts, die direkt erreicht werden sollen. Nutzen Sie es für Ihre eigenen internen Dienste oder einen lokalen Testserver, damit nur der Traffic, der für die Außenwelt bestimmt ist, über die Adresse hinausgeht, für die Sie bezahlen.