Un singur browser Puppeteer poate ține contexte proxy separate
Folosește BrowserContextOptions.proxyServer în Puppeteer25.16.0 când grupuri de pagini au nevoie de rute proxy diferite într-un singur browser Chromium.
Puppeteer 25.16.0 expune opțiunea proxyServer la crearea unui context de browser. Într-un browser Chromium existent, paginile dintr-un context nou pot folosi un intermediar ales, inclusiv un candidat HTTP public din lista de proxy HTTP:
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();
}Creează un alt context cu un alt proxyServer pentru o a doua rută. Două pagini create în același context împărtășesc politica de proxy a acelui context; deschiderea doar a unui file nou nu selectează un punct final nou.
Opțiunea este proxyServer. Exemplele mai vechi cu createIncognitoBrowserContext aparțin unei generații anterioare de API.
BrowserContextOptions acceptă și un proxyBypassList. Păstrează excepțiile directe în politica acelui context, în loc să presupui că provin din alt context.
Pentru un proxy HTTP acceptat cu utilizator și parolă, Page.authenticate furnizează credențialele înainte de navigare. URL-ul proxy selectează intermediarul, iar apelul de autentificare furnizează contul.
Aceasta este rețeaua browserului. Un pachet care interceptează o cerere de pagină și o satisface cu răspunsul unui client Node HTTP creează o cale de transport diferită, cu propriul comportament pentru cookie-uri, antete și TLS.
Apelantul rămâne responsabil de durata de viață a browserului partajat. Închiderea unui context închide paginile asociate fără a termina celelalte contexte.