एक Puppeteer ब्राउज़र अलग-अलग प्रॉक्सी कॉन्टेक्स्ट रख सकता है
जब पेजों के समूहों को एक ही Chromium ब्राउज़र में अलग-अलग प्रॉक्सी रूट चाहिए हों, तब Puppeteer25.16.0 में BrowserContextOptions.proxyServer का उपयोग करें।
Puppeteer 25.16.0 ब्राउज़र कॉन्टेक्स्ट बनाते समय proxyServer विकल्प देता है। किसी मौजूदा Chromium ब्राउज़र के लिए नए कॉन्टेक्स्ट के पेज किसी चुने हुए मध्यस्थ का उपयोग कर सकते हैं, जिसमें HTTP प्रॉक्सी सूची से कोई सार्वजनिक 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();
}दूसरे रूट के लिए किसी दूसरे proxyServer के साथ एक और कॉन्टेक्स्ट बनाएँ। एक ही कॉन्टेक्स्ट में बने दो पेज उस कॉन्टेक्स्ट की प्रॉक्सी नीति साझा करते हैं; केवल नया टैब खोलने से नया एंडपॉइंट नहीं चुना जाता।
विकल्प का नाम proxyServer है। पुराने createIncognitoBrowserContext उदाहरण पिछली API पीढ़ी के हैं।
BrowserContextOptions proxyBypassList भी स्वीकार करता है। सीधे अपवाद उसी कॉन्टेक्स्ट की नीति में रखें, यह मानकर न चलें कि वे किसी दूसरे कॉन्टेक्स्ट से आए हैं।
समर्थित उपयोगकर्ता नाम और पासवर्ड वाले HTTP प्रॉक्सी के लिए Page.authenticate नेविगेशन से पहले क्रेडेंशियल देता है। प्रॉक्सी URL मध्यस्थ चुनता है, और प्रमाणीकरण कॉल खाता देता है।
यह ब्राउज़र नेटवर्किंग है। जो पैकेज किसी पेज अनुरोध को रोककर उसे Node HTTP क्लाइंट के उत्तर से पूरा करता है, वह अलग ट्रांसपोर्ट पथ बनाता है, जिसका अपना कुकी, हेडर और TLS व्यवहार होता है।
साझा ब्राउज़र का जीवनकाल अब भी कॉलर के जिम्मे है। एक कॉन्टेक्स्ट बंद करने से उसके संबंधित पेज बंद होते हैं, पर दूसरे कॉन्टेक्स्ट समाप्त नहीं होते।