Puppeteer предоставляет настройки Firefox через extraPrefsFirefox. В приложении с совместимой установкой Firefox, уже настроенной для Puppeteer:

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch({
  browser: 'firefox',
  extraPrefsFirefox: {
    'network.proxy.type': 1,
    'network.proxy.http': 'proxy.example',
    'network.proxy.http_port': 8080,
    'network.proxy.ssl': 'proxy.example',
    'network.proxy.ssl_port': 8080,
  },
});
try {
  const page = await browser.newPage();
  await page.goto('https://api.example/');
} finally {
  await browser.close();
}

Тип 1 выбирает ручную конфигурацию прокси. Задайте имя хоста и числовой порт по отдельности. Для разрешённого просмотра публичных сайтов список HTTP-прокси предлагает кандидатов для этих полей HTTP-прослушивателя. Firefox использует имена настроек ssl для маршрута к HTTPS-назначению; выдумывание имён network.proxy.https не настраивает те же параметры.

Указывайте оба маршрута, когда и HTTP-, и HTTPS-переходы должны идти через посредника. Это избавляет от зависимости от действия в диалоге настроек при копировании одного маршрута в другой. Показанная конечная точка — обычный HTTP-прокси-прослушиватель; имя настройки ssl описывает категорию его назначения.

Эти настройки конфигурируют сетевой трафик Firefox. Аргумент --proxy-server в Chromium относится к другому интерфейсу браузера. Текущий Puppeteer выбирает Firefox с browser: 'firefox'; старые примеры с product следует приводить в соответствие с версией Puppeteer, в которой появился этот параметр.

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