Hoe om 'n geverifieerde instaanbediener in Puppeteer (Node.js) op te stel
Updated:
Puppeteer beheer Chrome en Chromium oor die DevTools-protokol (CDP) en bied 'n inheemse await page.authenticate({ username, password })-API vir HTTP 407-instaanbedienerverifikasie. Deur --proxy-server=http://ip:port met page.authenticate() te kombineer, kan jou Node.js-skrapers deur VinaProxy se statiese instaanbedieners roeteer sonder enige eksterne blaaieruitbreidings.
--proxy-server=http://ip:port + page.authenticate({ username, password })- 1 IP₫40 000
- 5+ IP's₫35 000
- 10+ IP's₫25 000
- 20+ IP's₫25 000
- 50+ IP's₫25 000
- 100+ IP's₫25 000
- 200+ IP's₫25 000
- 500+ IP's₫25 000
- 1000+ IP's₫22 000
- 2000+ IP's₫20 000
- 1 IP₫40 000
- 5+ IP's₫35 000
- 10+ IP's₫25 000
- 20+ IP's₫25 000
- 50+ IP's₫25 000
- 100+ IP's₫25 000
- 200+ IP's₫25 000
- 500+ IP's₫25 000
- 1000+ IP's₫22 000
- 2000+ IP's₫20 000
Tweestap-instaanbedienerkonfigurasie in Puppeteer
Moet nooit user:pass@ binne die --proxy-server-beginargument insluit nie. Gee eerder die gasheer en poort tydens begin deur en verifieer op die Page-instansie:
| Stap | Puppeteer-kode | Waarom dit saak maak |
|---|---|---|
| 1. Begin Chromium | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Rig Chromium se netwerksok op jou VinaProxy-instaanbediener |
| 2. Verifieer bladsy | await page.authenticate({ username, password }) | Verskaf CDP-aanmeldinligting vir HTTP 407-uitdagings |
| 3. Navigeer | await page.goto(url, { waitUntil: 'domcontentloaded' }) | Laai die teiken-URL deur die geverifieerde tonnel |
Wissel tussen verskeie instaanbedieners oor oortjies heen met proxy-chain
- Onthou dat
page.authenticate()perPage-oortjie geld—roep dit aan op elke nuwe oortjie wat deurbrowser.newPage()teruggestuur word - Om verskillende instaanbedieners oor inkognito-kontekste binne 'n enkele Chromium-proses te gebruik, vou elke
http://user:pass@ip:port-URL met dieproxy-chain-npm-pakket (anonymizeProxy()) toe en geeproxyServerdeur nabrowser.createBrowserContext({ proxyServer }) - Versoenbaar met
puppeteer-extraenpuppeteer-extra-plugin-stealth
Stap vir stap
- 1
Gee --proxy-server=http://ip:port deur na puppeteer.launch()
Begin die blaaier met
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });. - 2
Roep await page.authenticate() op die nuwe bladsy aan
Maak 'n oortjie oop met
const page = await browser.newPage();en roepawait page.authenticate({ username: 'USER', password: 'PASS' });aan. - 3
Toets die uitgang-IP-adres
Voer
await page.goto('https://vinaproxy.com/api/my-ip');uit en inspekteer die teruggestuurde JSON. - 4
Maak blaaierprosesse skoon
Roep
await browser.close();aan wanneer die taak voltooi is.
Gereelde vrae
Waarom gooi Puppeteer `ERR_NO_SUPPORTED_PROXIES`?
Daardie fout kom voor as jy user:pass@ binne --proxy-server=http://user:pass@ip:port insluit. Hou --proxy-server=http://ip:port skoon en gee aanmeldbesonderhede deur via await page.authenticate({ username, password }).
Waarom het 'n tweede oortjie wat met `browser.newPage()` oopgemaak is, met HTTP 407 misluk?
page.authenticate() is van toepassing per oortjie. Roep await secondPage.authenticate({ username, password }) aan voordat jy op enige nuut geopende oortjie navigeer.
Is VinaProxy-instaanbedieners onbeperk vir headless Chrome-skraapwerk?
Ja. Alle Dedicated IPv4- en Static ISP-planne sluit onbeperkte maandelikse bandwydte in.
Dryf jou Node.js Puppeteer-vloot met statiese IP-adresse aan
Onmiddellike onbeperkte Dedicated IPv4- en Static ISP-instaanbedieners oor 7 lande heen.
Koop Puppeteer-instaanbedieners