Ein Puppeteer-Browser kann getrennte Proxy-Kontexte halten
Verwenden Sie BrowserContextOptions.proxyServer in Puppeteer25.16.0, wenn Gruppen von Seiten innerhalb eines Chromium-Browsers unterschiedliche Proxy-Routen benötigen.
Puppeteer 25.16.0 bietet beim Erstellen eines Browser-Kontexts die Option proxyServer. Bei einem vorhandenen Chromium-Browser können Seiten in einem neuen Kontext einen ausgewählten Vermittler nutzen, etwa einen öffentlichen HTTP-Kandidaten aus der HTTP-Proxy-Liste:
const context = await browser.createBrowserContext({
proxyServer: 'http://proxy.example:8080',
});
try {
const page = await context.newPage();
await page.goto('https://www.example.com/');
} finally {
await context.close();
}Erstellen Sie mit einem anderen proxyServer einen weiteren Kontext für eine zweite Route. Zwei in demselben Kontext erzeugte Seiten teilen die Proxy-Richtlinie dieses Kontexts; allein das Öffnen eines neuen Tabs wählt keinen neuen Endpunkt.
Die Option heißt proxyServer. Die älteren createIncognitoBrowserContext-Beispiele gehören zu einer früheren API-Generation.
BrowserContextOptions akzeptiert außerdem eine proxyBypassList. Behalten Sie direkte Ausnahmen in der Richtlinie dieses Kontexts, statt anzunehmen, sie stammten aus einem anderen Kontext.
Für einen unterstützten HTTP-Proxy mit Benutzername und Passwort liefert Page.authenticate die Zugangsdaten vor der Navigation. Die Proxy-URL wählt den Vermittler, und der Authentifizierungsaufruf liefert das Konto.
Das ist Browser-Netzwerk. Ein Paket, das eine Seitenanfrage abfängt und mit der Antwort eines Node-HTTP-Clients beantwortet, erzeugt einen anderen Transportweg mit eigenem Cookie-, Header- und TLS-Verhalten.
Der Aufrufer bleibt für die Lebensdauer des gemeinsam genutzten Browsers verantwortlich. Das Schließen eines Kontexts schließt dessen zugehörige Seiten, beendet aber nicht die anderen Kontexte.