Puppeteer में प्रमाणित प्रॉक्सी कैसे सेट करें (Node.js गाइड)
अपडेट किया गया:
Puppeteer, Chrome DevTools Protocol (CDP) के माध्यम से Chrome और Chromium को नियंत्रित करता है और HTTP 407 प्रॉक्सी ऑथेंटिकेशन के लिए एक इन-बिल्ट API await page.authenticate({ username, password }) प्रदान करता है। --proxy-server=http://ip:port को page.authenticate() के साथ जोड़ने से आपके Node.js स्क्रैपर बिना किसी ब्राउज़र एक्सटेंशन के VinaProxy स्टैटिक प्रॉक्सी के माध्यम से सुरक्षित रूप से डेटा रूट कर सकते हैं।
--proxy-server=http://ip:port + page.authenticate({ username, password })- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
Puppeteer में दो-चरणीय प्रॉक्सी कॉन्फ़िगरेशन
--proxy-server लॉन्च आर्गुमेंट में कभी भी user:pass@ शामिल न करें। इसके बजाय, लॉन्च के समय केवल होस्ट और पोर्ट पास करें और Page इंस्टेंस पर प्रमाणीकरण पूरा करें:
| चरण | Puppeteer कोड उदाहरण | तकनीकी महत्व |
|---|---|---|
| 1. Chromium लॉन्च करें | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Chromium के नेटवर्क सॉकेट को आपके VinaProxy प्रॉक्सी सर्वर पर निर्देशित करता है |
| 2. पेज प्रमाणित करें | await page.authenticate({ username, password }) | HTTP 407 प्रमाणीकरण के लिए CDP के माध्यम से क्रेडेंशियल प्रदान करता है |
| 3. नेविगेट करें | await page.goto(url, { waitUntil: 'domcontentloaded' }) | प्रमाणित टनल के माध्यम से लक्षित वेबपेज को लोड करता है |
proxy-chain की मदद से कई टैब में प्रॉक्सी रोटेशन
- ध्यान रखें कि
page.authenticate()व्यक्तिगतPageटैब पर लागू होता है—browser.newPage()से खुलने वाले प्रत्येक नए टैब पर इसे अलग से कॉल करें - एक ही Chromium प्रक्रिया के अंदर गुप्त संदर्भों में अलग-अलग प्रॉक्सी का उपयोग करने के लिए,
proxy-chainnpm पैकेज (anonymizeProxy()) से प्रत्येकhttp://user:pass@ip:portको रैप करें औरbrowser.createBrowserContext({ proxyServer })में पास करें puppeteer-extraऔर एंटी-डिटेक्शन प्लगइनpuppeteer-extra-plugin-stealthके साथ पूरी तरह संगत
स्टेप बाय स्टेप
- 1
puppeteer.launch() में --proxy-server=http://ip:port पास करें
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });के साथ ब्राउज़र लॉन्च करें। - 2
नए पेज पर await page.authenticate() कॉल करें
const page = await browser.newPage();के साथ एक टैब खोलें औरawait page.authenticate({ username: 'USER', password: 'PASS' });कॉल करें। - 3
आउटगोइंग IP एड्रेस का परीक्षण करें
await page.goto('https://vinaproxy.com/api/my-ip');चलाएँ और प्राप्त JSON प्रतिक्रिया का निरीक्षण करें। - 4
ब्राउज़र प्रक्रिया को बंद करें
स्क्रैपिंग कार्य समाप्त होने पर
await browser.close();कॉल करें ताकि सिस्टम संसाधन मुक्त हो सकें।
अक्सर पूछे जाने वाले प्रश्न
Puppeteer ERR_NO_SUPPORTED_PROXIES गड़बड़ी क्यों प्रदर्शित करता है?
यह त्रुटि तब होती है जब आप लॉन्च विकल्प में --proxy-server=http://user:pass@ip:port जैसा क्रेडेंशियल जोड़ते हैं। केवल --proxy-server=http://ip:port रखें और क्रेडेंशियल await page.authenticate({ username, password }) के माध्यम से भेजें।
browser.newPage() से खोला गया दूसरा टैब HTTP 407 के साथ विफल क्यों हुआ?
page.authenticate() टैब-विशिष्ट होता है। किसी भी नए खोले गए टैब पर नेविगेट करने से पहले await secondPage.authenticate({ username, password }) कॉल करना आवश्यक है।
क्या हेडलेस Chrome स्क्रैपिंग के लिए VinaProxy प्रॉक्सी में डेटा सीमा होती है?
नहीं। VinaProxy के सभी डेडिकेटेड IPv4 और स्टैटिक ISP प्लान में असीमित मासिक डेटा ट्रैफ़िक शामिल है।
समर्पित स्टैटिक IP के साथ अपने Node.js Puppeteer बेड़े को सशक्त बनाएँ
विश्व के 7 देशों में तत्काल सक्रियण और असीमित डेटा वाले डेडिकेटेड IPv4 और स्टैटिक ISP प्रॉक्सी।
Puppeteer प्रॉक्सी खरीदें