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₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫20,000
- 1 IP₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫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' }) | ہدف URL کو تصدیق شدہ سرنگ کے ذریعے لوڈ کرتا ہے |
proxy-chain کے ساتھ تمام ٹیبز میں متعدد پراکسیز روٹیٹ کرنا
- یاد رکھیں کہ
page.authenticate()کا دائرہ اختیار فیPageٹیب ہوتا ہے—اسےbrowser.newPage()سے ملنے والے ہر نئے ٹیب پر کال کریں۔ - ایک ہی Chromium پروسیس کے اندر مختلف incognito سیاق و سباق میں الگ الگ پراکسیز استعمال کرنے کے لیے، ہر
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 فلیٹ کو اسٹیٹک IPs سے تقویت دیں
7 ممالک میں فوری، غیر محدود Dedicated IPv4 اور Static ISP پراکسیز۔
Puppeteer پراکسیز خریدیں