Kako nastaviti avtenticiran proxy v Puppeteerju (Node.js)
Updated:
Puppeteer upravlja Chrome in Chromium prek protokola DevTools Protocol (CDP) ter ponuja izvorni API await page.authenticate({ username, password }) za avtentikacijo proxyja HTTP 407. Povezava argumenta --proxy-server=http://ip:port z metodo page.authenticate() omogoča vašim strgalom Node.js usmerjanje prometa prek statičnih proxyjev VinaProxy brez zunanjih razširitev brskalnika.
--proxy-server=http://ip:port + page.authenticate({ username, password })- 1 IP40.000 ₫
- 5+ IP-jev35.000 ₫
- 10+ IP-jev25.000 ₫
- 20+ IP-jev25.000 ₫
- 50+ IP-jev25.000 ₫
- 100+ IP-jev25.000 ₫
- 200+ IP-jev25.000 ₫
- 500+ IP-jev25.000 ₫
- 1000+ IP-jev22.000 ₫
- 2000+ IP-jev20.000 ₫
- 1 IP40.000 ₫
- 5+ IP-jev35.000 ₫
- 10+ IP-jev25.000 ₫
- 20+ IP-jev25.000 ₫
- 50+ IP-jev25.000 ₫
- 100+ IP-jev25.000 ₫
- 200+ IP-jev25.000 ₫
- 500+ IP-jev25.000 ₫
- 1000+ IP-jev22.000 ₫
- 2000+ IP-jev20.000 ₫
Dvostopenjska konfiguracija proxyja v Puppeteerju
Nikoli ne vključujte user:pass@ v zagonski argument --proxy-server. Namesto tega ob zagonu posredujte gostitelja in vrata ter izvedite avtentikacijo v primerku Page:
| Korak | Koda Puppeteer | Zakaj je to pomembno |
|---|---|---|
| 1. Zagon brskalnika Chromium | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Usmeri omrežno vtičnico brskalnika Chromium na vaš proxy VinaProxy |
| 2. Avtentikacija strani | await page.authenticate({ username, password }) | Zagotovi poverilnice CDP za zahteve HTTP 407 |
| 3. Navigacija | await page.goto(url, { waitUntil: 'domcontentloaded' }) | Naloži ciljni URL prek avtenticiranega tunela |
Rotiranje več proxyjev med zavihki s paketom proxy-chain
- Upoštevajte, da je obseg
page.authenticate()vezan na posamezen zavihekPage– pokličite ga za vsak nov zavihek, ki ga vrnebrowser.newPage() - Za uporabo različnih proxyjev v načinih brez beleženja zgodovine znotraj enega procesa Chromium ovijte vsak URL
http://user:pass@ip:ports paketom npmproxy-chain(anonymizeProxy()) in posredujteproxyServervbrowser.createBrowserContext({ proxyServer }) - Združljivo s paketoma
puppeteer-extrainpuppeteer-extra-plugin-stealth
Navodila po korakih
- 1
Posredujte --proxy-server=http://ip:port v puppeteer.launch()
Zaženite brskalnik z
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });. - 2
Pokličite await page.authenticate() na novi strani
Odprite zavihek s
const page = await browser.newPage();in pokličiteawait page.authenticate({ username: 'USER', password: 'PASS' });. - 3
Preizkusite izhodni naslov IP
Zaženite
await page.goto('https://vinaproxy.com/api/my-ip');in preglejte vrnjeni JSON. - 4
Počistite procese brskalnika
Ob zaključku opravila pokličite
await browser.close();.
Pogosta vprašanja
Zakaj Puppeteer javi napako `ERR_NO_SUPPORTED_PROXIES`?
Ta napaka se pojavi, če v --proxy-server=http://user:pass@ip:port vključite user:pass@. Ohranite čist --proxy-server=http://ip:port in poverilnice posredujte prek await page.authenticate({ username, password }).
Zakaj se je pri drugem zavihku, odprtem z `browser.newPage()`, pojavila napaka HTTP 407?
page.authenticate() velja za posamezen zavihek. Pred navigacijo v katerem koli na novo odprtem zavihku pokličite await secondPage.authenticate({ username, password }).
Ali so proxyji VinaProxy neomejeni za strganje podatkov z brezglavim brskalnikom Chrome?
Da. Vsi paketi Dedicated IPv4 in Static ISP vključujejo neomejeno mesečno pasovno širino.
Opremite svojo zbirko orodja Puppeteer za Node.js s statičnimi naslovi IP
Takojšnji neomejeni proxyji Dedicated IPv4 in Static ISP v 7 državah.
Kupite proxyje za Puppeteer