Ako nastaviť overenú proxy v Puppeteer (Node.js)
Updated:
Puppeteer ovláda Chrome a Chromium cez DevTools Protocol (CDP) a ponúka natívne API await page.authenticate({ username, password }) na overenie proxy pri kóde HTTP 407. Spojenie --proxy-server=http://ip:port s page.authenticate() umožňuje vašim scraperom v Node.js smerovať prevádzku cez statické proxy VinaProxy bez akýchkoľvek externých rozšírení prehliadača.
--proxy-server=http://ip:port + page.authenticate({ username, password })- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
Dvojkroková konfigurácia proxy v Puppeteer
Nikdy nevkladajte user:pass@ do spúšťacieho argumentu --proxy-server. Namiesto toho odovzdajte hostiteľa a port pri spustení a overte sa na inštancii Page:
| Krok | Kód pre Puppeteer | Prečo je to dôležité |
|---|---|---|
| 1. Spustite Chromium | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Nasmeruje sieťový socket Chromium na vašu VinaProxy proxy |
| 2. Overte Page | await page.authenticate({ username, password }) | Poskytuje prihlasovacie údaje CDP pre výzvy HTTP 407 |
| 3. Prejdite na stránku | await page.goto(url, { waitUntil: 'domcontentloaded' }) | Načíta cieľovú URL cez overený tunel |
Rotovanie viacerých proxy medzi kartami pomocou proxy-chain
- Nezabudnite, že
page.authenticate()má rozsah pre každú kartuPagezvlášť – volajte ho na každej novej karte vrátenej zbrowser.newPage() - Ak chcete používať rôzne proxy v anonymných kontextoch v rámci jedného procesu Chromium, obaľte každú URL
http://user:pass@ip:portbalíčkom npmproxy-chain(anonymizeProxy()) a odovzdajteproxyServerdobrowser.createBrowserContext({ proxyServer }) - Kompatibilné s
puppeteer-extraapuppeteer-extra-plugin-stealth
Krok za krokom
- 1
Odovzdajte --proxy-server=http://ip:port do puppeteer.launch()
Spustite prehliadač pomocou
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });. - 2
Zavolajte await page.authenticate() na novej stránke
Otvorte kartu pomocou
const page = await browser.newPage();a zavolajteawait page.authenticate({ username: 'USER', password: 'PASS' });. - 3
Otestujte výstupnú IP adresu
Spustite
await page.goto('https://vinaproxy.com/api/my-ip');a skontrolujte vrátený JSON. - 4
Ukončite procesy prehliadača
Po dokončení úlohy zavolajte
await browser.close();.
Často kladené otázky
Prečo Puppeteer vyhadzuje chybu `ERR_NO_SUPPORTED_PROXIES`?
K tejto chybe dochádza, ak vložíte user:pass@ do --proxy-server=http://user:pass@ip:port. Ponechajte --proxy-server=http://ip:port čistý a poverenia odovzdajte cez await page.authenticate({ username, password }).
Prečo druhá karta otvorená cez `browser.newPage()` zlyhala s chybou HTTP 407?
page.authenticate() platí pre každú kartu samostatne. Pred prechodom na cieľovú URL na ktorejkoľvek novootvorenej karte zavolajte await secondPage.authenticate({ username, password }).
Sú proxy VinaProxy neobmedzené na scraping v bezhlavom režime Chrome?
Áno. Všetky programy Dedicated IPv4 a Static ISP zahŕňajú neobmedzený mesačný prenos dát.
Posilnite svoju flotilu Puppeteer v Node.js statickými IP
Okamžité neobmedzené proxy Dedicated IPv4 a Static ISP v 7 krajinách.
Kúpiť proxy pre Puppeteer