Si të konfiguroni një proxy të autentikuar në Puppeteer (Node.js)
Updated:
Puppeteer kontrollon Chrome dhe Chromium përmes DevTools Protocol (CDP), duke ofruar një API vendase await page.authenticate({ username, password }) për autentikimin e proxy-t me HTTP 407. Kombinimi i --proxy-server=http://ip:port me page.authenticate() u mundëson scraper-ave tuaj në Node.js të kalojnë përmes proxy-ve statike VinaProxy pa asnjë shtesë të jashtme shfletuesi.
--proxy-server=http://ip:port + page.authenticate({ username, password })- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
Konfigurimi i proxy-t në dy hapa në Puppeteer
Mos e vendosni kurrë user:pass@ brenda argumentit të nisjes --proxy-server. Në vend të kësaj, kaloni host-in dhe portën gjatë nisjes dhe autentikohuni në instancën Page:
| Hapi | Kodi i Puppeteer | Pse ka rëndësi |
|---|---|---|
| 1. Nisni Chromium | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Drejton socket-in e rrjetit të Chromium te proxy juaj VinaProxy |
| 2. Autentikoni Page | await page.authenticate({ username, password }) | Ofron kredencialet CDP për kërkesat HTTP 407 |
| 3. Navigoni | await page.goto(url, { waitUntil: 'domcontentloaded' }) | Ngarkon URL-në e synuar përmes tunelit të autentikuar |
Rrotullimi i shumë proxy-ve nëpër skeda me proxy-chain
- Kini parasysh se
page.authenticate()vlen për çdo skedëPagemë vete—thirreni atë në çdo skedë të re të kthyer ngabrowser.newPage() - Për të përdorur proxy të ndryshëm nëpër kontekste incognito brenda një procesi të vetëm Chromium, mbështillni çdo URL
http://user:pass@ip:portme paketën npmproxy-chain(anonymizeProxy()) dhe kaloniproxyServertebrowser.createBrowserContext({ proxyServer }) - E përputhshme me
puppeteer-extradhepuppeteer-extra-plugin-stealth
Hap pas hapi
- 1
Kaloni --proxy-server=http://ip:port te puppeteer.launch()
Nisni shfletuesin me
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });. - 2
Thirrni await page.authenticate() në faqen e re
Hapni një skedë me
const page = await browser.newPage();dhe thirrniawait page.authenticate({ username: 'USER', password: 'PASS' });. - 3
Testoni adresën IP dalëse
Ekzekutoni
await page.goto('https://vinaproxy.com/api/my-ip');dhe kontrolloni JSON-in e kthyer. - 4
Mbyllni proceset e shfletuesit
Thirrni
await browser.close();kur puna të përfundojë.
Pyetjet e shpeshta
Pse Puppeteer shfaq gabimin `ERR_NO_SUPPORTED_PROXIES`?
Ky gabim ndodh nëse përfshini user:pass@ brenda --proxy-server=http://user:pass@ip:port. Mbajeni --proxy-server=http://ip:port të pastër dhe kaloni kredencialet përmes await page.authenticate({ username, password }).
Pse një skedë e dytë e hapur me `browser.newPage()` dështon me HTTP 407?
page.authenticate() zbatohet për çdo skedë veçmas. Thirrni await secondPage.authenticate({ username, password }) përpara se të navigoni në çdo skedë të hapur rishtazi.
A janë proxy-t VinaProxy pa limit trafiku për scraping me headless Chrome?
Po. Të gjitha planet Dedicated IPv4 dhe Static ISP përfshijnë brez kalimi mujor të pakufizuar.
Fuqizoni flotën tuaj të Puppeteer në Node.js me IP statike
Proxy të menjëhershme pa limit Dedicated IPv4 dhe Static ISP në 7 shtete.
Bleni Proxy për Puppeteer