VVinaProxy

Як наладзіць проксі з аўтэнтыфікацыяй у Puppeteer (Node.js)

Updated:

Puppeteer кіруе Chrome і Chromium праз DevTools Protocol (CDP), забяспечваючы ўбудаваны API await page.authenticate({ username, password }) для аўтэнтыфікацыі проксі праз HTTP 407. Спалучэнне --proxy-server=http://ip:port з page.authenticate() дазваляе вашым скраперам на Node.js накіроўваць трафік праз статычныя проксі VinaProxy без вонкавых пашырэнняў браўзера.

Puppeteer · HTTP Proxy Format
--proxy-server=http://ip:port + page.authenticate({ username, password })
Прыватны IPv4 (дата-цэнтр)
🇺🇸 Злучаныя Штаты
У наяўнасці
Ад
20 000 ₫ / IP / месяц
≈ 0,74 $ · разлік у VND
Зніжкі ад аб'ёму
  • 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 ₫
Купіць Злучаныя Штаты
Прыватны IPv4 (дата-цэнтр)
🇸🇬 Сінгапур
У наяўнасці
Ад
20 000 ₫ / IP / месяц
≈ 0,74 $ · разлік у VND
Зніжкі ад аб'ёму
  • 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 ₫
Купіць Сінгапур
Проксі па платформах:web-scrapingseo-rank-trackingyoutube

Двухэтапная налада проксі ў Puppeteer

Ніколі не ўбудоўвайце user:pass@ у аргумент запуску --proxy-server. Замест гэтага перадавайце хост і порт пры запуску і аўтэнтыфікуйцеся на асобніку Page:

КрокКод PuppeteerЧаму гэта важна
1. Запуск Chromiumpuppeteer.launch({ args: ['--proxy-server=http://ip:port'] })Накіроўвае сеткавы сокет Chromium на ваш проксі VinaProxy
2. Аўтэнтыфікацыя Pageawait page.authenticate({ username, password })Перадае ўліковыя даныя праз CDP у адказ на запыты HTTP 407
3. Пераходawait page.goto(url, { waitUntil: 'domcontentloaded' })Загружае мэтавы URL праз тунэль з аўтэнтыфікацыяй

Ратацыя некалькіх проксі паміж укладкамі з proxy-chain

  • Памятайце, што дзеянне page.authenticate() абмежавана адной укладкай Page — выклікайце яго для кожнай новай укладкі, створанай праз browser.newPage()
  • Каб выкарыстоўваць розныя проксі ў розных рэжымах інкогніта ўнутры аднаго працэсу Chromium, абгарніце кожны URL http://user:pass@ip:port з дапамогай npm-пакета proxy-chain (anonymizeProxy()) і перадайце proxyServer у browser.createBrowserContext({ proxyServer })
  • Сумяшчальна з puppeteer-extra і puppeteer-extra-plugin-stealth

Крок за крокам

  1. 1

    Перадайце --proxy-server=http://ip:port у puppeteer.launch()

    Запусціце браўзер з const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });.

  2. 2

    Выклічце await page.authenticate() на новай старонцы

    Адкрыйце ўкладку з const page = await browser.newPage(); і выклічце await page.authenticate({ username: 'USER', password: 'PASS' });.

  3. 3

    Праверце выходны IP-адрас

    Выканайце await page.goto('https://vinaproxy.com/api/my-ip'); і праверце атрыманы JSON.

  4. 4

    Завяршыце працэсы браўзера

    Выклічце await browser.close(); пасля завяршэння працы.

Частыя пытанні

Чаму Puppeteer выдае памылку `ERR_NO_SUPPORTED_PROXIES`?

Гэтая памылка ўзнікае, калі пазначыць user:pass@ усярэдзіне --proxy-server=http://user:pass@ip:port. Пакідайце --proxy-server=http://ip:port без дадатковых даных і перадавайце ўліковыя даныя праз await page.authenticate({ username, password }).

Чаму на другой укладцы, адкрытай праз `browser.newPage()`, узнікае памылка HTTP 407?

page.authenticate() дзейнічае толькі для адной укладкі. Выклікайце await secondPage.authenticate({ username, password }) перад пераходам па спасылцы на любой новай укладцы.

Ці з'яўляюцца проксі VinaProxy бязлімітнымі для скрапінгу праз headless Chrome?

Так. Усе тарыфы Dedicated IPv4 і Static ISP уключаюць неабмежаваны штомесячны трафік.

Павялічце эфектыўнасць інфраструктуры на Node.js Puppeteer са статычнымі IP

Імгненныя бязлімітныя проксі Dedicated IPv4 і Static ISP у 7 краінах.

Купіць проксі для Puppeteer

Related articles

Проксі па платформах
Проксі для вэб-скрапінгу: пулы выдзеленых IPv4 і ISP без лімітаў для кругласутачных краўлераў
Хуткія выдзеленыя проксі IPv4 і статычныя ISP HTTP(S) для Python, Playwright, Selenium і Scrapy з безлімітным трафікам на месяц. Параўнайце тарыфы і пачніце.
Налада проксі
Як наладзіць проксі ў Playwright (Browser і Per-Context Auth)
Наладзьце аўтэнтыфікаваныя HTTP(S)-проксі ў Playwright для Node.js і Python і запускайце ізаляваныя статычныя IP у BrowserContexts. Скапіюйце прыклады.
Налада проксі
Як наладзіць проксі ў Node.js (Axios і ўбудаваны Fetch)
Наладзьце HTTP(S)-проксі з аўтэнтыфікацыяй у Node.js і TypeScript праз https-proxy-agent для Axios і Undici ProxyAgent для ўбудаванага fetch.
Бясплатныя інструменты
Масавы канвертар фарматаў проксі (100% на баку кліента)
100% кліенцкі фарматавальнік спісу проксі. Канвертуйце паміж ip:port:user:pass, user:pass@ip:port, URL http://, URI SOCKS5, масівамі JSON і экспартам FoxyProxy.
Проксі па платформах
Проксі для SEO і трэкінгу SERP: дакладныя пазіцыі ключавых слоў у 7 краінах
Адсочвайце лакалізаваныя пазіцыі слоў, правярайце геарэдырэкты і краўліце ў Screaming Frog з безлімітнымі выдзеленымі IPv4 і статычнымі ISP-проксі ў 7 краінах.
Проксі па платформах
Проксі для YouTube: ізаляцыя мультыканалаў Studio і акаўнтаў AdSense
Ізалюйце каналы YouTube Studio і акаўнты AdSense з бязлімітнымі Static ISP і выдзеленымі IPv4-проксі ў ЗША, В'етнаме, Японіі і Вялікабрытаніі.
IPV4 · united states
Прыватныя IPv4-проксі ЗША: хуткія выдзеленыя IP амерыканскіх дата-цэнтраў
Выдзеленыя прыватныя IPv4-проксі ЗША для скрапінгу, трэкінгу пазіцый, рэкламы і аналізу Amazon. Статычны IP, адзін карыстальнік на IP, безліміт, хуткі запуск.
IPV4 · singapore
Прыватныя IPv4-проксі Сінгапура: хуткія выдзеленыя SG IP для рэгіянальнага гандлю і рэкламы
Выдзеленыя прыватныя IPv4-проксі Сінгапура для крам Lazada і Shopee SG, рэгіянальнай рэкламы, праверкі аб'яў і хуткай аўтаматызацыі. Безлімітны трафік.