Puppeteer expone las preferencias de Firefox mediante extraPrefsFirefox. En una aplicación con una instalación compatible de Firefox ya configurada para 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();
}

El tipo 1 selecciona la configuración manual de proxy. Establezca el nombre de host y el puerto numérico por separado. Para la navegación permitida por sitios públicos, la lista de proxies HTTP ofrece candidatos para estos campos de escucha HTTP. Firefox usa los nombres de preferencia ssl para la ruta de destino HTTPS; inventar nombres network.proxy.https no configura los mismos ajustes.

Especifique ambas rutas cuando tanto la navegación HTTP como la HTTPS deban usar el intermediario. Así se evita depender de una acción del diálogo de ajustes para copiar una ruta en la otra. El punto final mostrado es un escucha de proxy HTTP simple; el nombre de preferencia ssl describe su categoría de destino.

Estas preferencias configuran el tráfico de red de Firefox. El argumento --proxy-server de Chromium pertenece a otra interfaz de navegador. El Puppeteer actual selecciona Firefox con browser: 'firefox'; los ejemplos antiguos que usan product deben ajustarse a la versión de Puppeteer que definió esa opción.

Artículos relacionados