Kā iestatīt autentificētu proksi Puppeteer (Node.js)
Updated:
Puppeteer vada Chrome un Chromium, izmantojot DevTools Protocol (CDP), un nodrošina iebūvētu await page.authenticate({ username, password }) API HTTP 407 proksi autentifikācijai. Apvienojot --proxy-server=http://ip:port ar page.authenticate(), jūsu Node.js datu vācēji var novirzīt datplūsmu caur VinaProxy statiskajiem proksi bez ārējiem pārlūka paplašinājumiem.
--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 ₫
Divu soļu proksi konfigurācija Puppeteer
Nekad neiekļaujiet user:pass@ startēšanas argumentā --proxy-server. Tā vietā startēšanas laikā norādiet resursdatoru un portu, bet autentifikāciju veiciet Page instancē:
| Solis | Puppeteer kods | Kāpēc tas ir svarīgi |
|---|---|---|
| 1. Startēt Chromium | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Novirza Chromium tīkla ligzdu uz jūsu VinaProxy proksi |
| 2. Autentificēt lapu | await page.authenticate({ username, password }) | Nodrošina CDP akreditācijas datus HTTP 407 pieprasījumiem |
| 3. Pāriet uz lapu | await page.goto(url, { waitUntil: 'domcontentloaded' }) | Ielādē mērķa URL caur autentificēto tuneli |
Vairāku proksi rotēšana starp cilnēm ar proxy-chain
- Ņemiet vērā, ka
page.authenticate()darbojas atsevišķi katraiPagecilnei — izsauciet to katrai jaunajai cilnei, ko atgriežbrowser.newPage() - Lai vienā Chromium procesā inkognito kontekstos izmantotu dažādus proksi, iekļaujiet katru
http://user:pass@ip:portURL npm pakotnēproxy-chain(anonymizeProxy()) un nododietproxyServerfunkcijaibrowser.createBrowserContext({ proxyServer }) - Saderīgs ar
puppeteer-extraunpuppeteer-extra-plugin-stealth
Soli pa solim
- 1
Nododiet --proxy-server=http://ip:port funkcijai puppeteer.launch()
Startējiet pārlūku ar
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });. - 2
Izsauciet await page.authenticate() jaunajā lapā
Atveriet cilni ar
const page = await browser.newPage();un izsaucietawait page.authenticate({ username: 'USER', password: 'PASS' });. - 3
Pārbaudiet izejošo IP adresi
Palaidiet
await page.goto('https://vinaproxy.com/api/my-ip');un pārbaudiet saņemto JSON. - 4
Aizveriet pārlūka procesus
Kad uzdevums ir pabeigts, izsauciet
await browser.close();.
Biežāk uzdotie jautājumi
Kāpēc Puppeteer parāda kļūdu `ERR_NO_SUPPORTED_PROXIES`?
Šī kļūda rodas, ja iekļaujat user:pass@ parametrā --proxy-server=http://user:pass@ip:port. Saglabājiet --proxy-server=http://ip:port tīru un nododiet akreditācijas datus ar await page.authenticate({ username, password }).
Kāpēc otrajā cilnē, kas atvērta ar `browser.newPage()`, radās kļūda HTTP 407?
page.authenticate() darbojas atsevišķi katrai cilnei. Pirms navigācijas jebkurā jaunatvērtā cilnē izsauciet await secondPage.authenticate({ username, password }).
Vai VinaProxy proksi ir bez datplūsmas ierobežojuma datu vākšanai ar headless Chrome?
Jā. Visi Dedicated IPv4 un Static ISP plāni ietver neierobežotu ikmēneša datplūsmu.
Nodrošiniet savu Node.js Puppeteer infrastruktūru ar statiskām IP
Tūlītēji neierobežoti Dedicated IPv4 un Static ISP proksi 7 valstīs.
Pirkt Puppeteer proksi