Puppeteer (Node.js) मा प्रमाणित प्रोक्सी कसरी सेटअप गर्ने
Updated:
Puppeteer ले DevTools Protocol (CDP) मार्फत Chrome र Chromium लाई नियन्त्रण गर्छ, जसले HTTP 407 प्रोक्सी प्रमाणीकरणका लागि नेटिभ await page.authenticate({ username, password }) API प्रदान गर्दछ। --proxy-server=http://ip:port लाई page.authenticate() सँग जोड्दा तपाईंका Node.js स्क्र्यापरहरू कुनै पनि बाह्य ब्राउजर एक्सटेन्सन बिना VinaProxy स्ट्याटिक प्रोक्सीहरू मार्फत रुट हुन सक्छन्।
--proxy-server=http://ip:port + page.authenticate({ username, password })- 1 IP₫ ४०,०००
- 5+ IP हरू₫ ३५,०००
- 10+ IP हरू₫ २५,०००
- 20+ IP हरू₫ २५,०००
- 50+ IP हरू₫ २५,०००
- 100+ IP हरू₫ २५,०००
- 200+ IP हरू₫ २५,०००
- 500+ IP हरू₫ २५,०००
- 1000+ IP हरू₫ २२,०००
- 2000+ IP हरू₫ २०,०००
- 1 IP₫ ४०,०००
- 5+ IP हरू₫ ३५,०००
- 10+ IP हरू₫ २५,०००
- 20+ IP हरू₫ २५,०००
- 50+ IP हरू₫ २५,०००
- 100+ IP हरू₫ २५,०००
- 200+ IP हरू₫ २५,०००
- 500+ IP हरू₫ २५,०००
- 1000+ IP हरू₫ २२,०००
- 2000+ IP हरू₫ २०,०००
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' }) | प्रमाणित टनेल मार्फत लक्षित URL लोड गर्छ |
proxy-chain मार्फत विभिन्न ट्याबहरूमा बहु प्रोक्सीहरू रोटेट गर्ने
- याद राख्नुहोस् कि
page.authenticate()प्रत्येकPageट्याब अनुसार सिमित हुन्छ—browser.newPage()द्वारा खोलिएको प्रत्येक नयाँ ट्याबमा यसलाई कल गर्नुहोस् - एकल Chromium प्रक्रिया भित्र विभिन्न इन्कग्निटो सन्दर्भहरूमा फरक प्रोक्सीहरू प्रयोग गर्न, प्रत्येक
http://user:pass@ip:portURL लाईproxy-chainnpm प्याकेज (anonymizeProxy()) सँग र्याप गर्नुहोस् रbrowser.createBrowserContext({ proxyServer })मा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 भित्र user:pass@ समावेश गर्नुभयो भने त्यो त्रुटि आउँछ। --proxy-server=http://ip:port लाई सफा राख्नुहोस् र await page.authenticate({ username, password }) मार्फत प्रमाणहरू पास गर्नुहोस्।
`browser.newPage()` मार्फत खोलिएको दोस्रो ट्याब HTTP 407 सँग किन असफल भयो?
page.authenticate() प्रत्येक ट्याब अनुसार लागू हुन्छ। नयाँ खोलिएको कुनै पनि ट्याबमा नेभिगेट गर्नु अघि await secondPage.authenticate({ username, password }) कल गर्नुहोस्।
के हेडलेस Chrome स्क्र्यापिङका लागि VinaProxy प्रोक्सीहरू अनमिटर्ड छन्?
हो। सबै Dedicated IPv4 र Static ISP योजनाहरूमा असीमित मासिक ब्यान्डविथ समावेश छ।
आफ्नो Node.js Puppeteer फ्लीटलाई स्ट्याटिक IP हरूको साथ सशक्त बनाउनुहोस्
7 देशहरूमा तत्काल अनमिटर्ड Dedicated IPv4 र Static ISP प्रोक्सीहरू।
Puppeteer प्रोक्सीहरू किन्नुहोस्