Как настроить прокси с авторизацией в Puppeteer (руководство для Node.js)

Обновлено:

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 (серверные)
🇺🇸 United States
В наличии
От
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 ₫
Купить United States
Приватные IPv4 (серверные)
🇸🇬 Singapore
В наличии
От
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 ₫
Купить Singapore
Прокси для платформ: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. Переход по URLawait page.goto(url, { waitUntil: 'domcontentloaded' })Загружает целевую страницу через защищенный авторизованный туннель

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

  • Помните, что page.authenticate() действует строго в рамках одной вкладки Page — вызывайте этот метод для каждой новой вкладки, созданной через browser.newPage()
  • Для использования разных прокси в изолированных инкогнито-контекстах внутри одного процесса Chromium оберните каждый URL http://user:pass@ip:port с помощью npm-пакета proxy-chain (anonymizeProxy()) и передайте в 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?

Эта ошибка возникает, если передать логин и пароль прямо в аргумент запуска: --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?

Нет. Все тарифные планы на приватные IPv4 и статические ISP от VinaProxy включают полностью безлимитный трафик.

Оснастите ваши скраперы на Puppeteer статическими IP-адресами

Мгновенная выдача, безлимитный трафик, приватные IPv4 и ISP-прокси в 7 странах мира.

Купить прокси для Puppeteer

Похожие статьи

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