Puppeteer expose les préférences de Firefox via extraPrefsFirefox. Dans une application disposant d'une installation de Firefox compatible déjà configurée pour 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();
}

Le type 1 sélectionne la configuration manuelle du proxy. Définissez le nom d'hôte et le port numérique séparément. Pour la navigation autorisée vers des sites publics, la liste de proxys HTTP fournit des candidats pour ces champs d'écoute HTTP. Firefox utilise les noms de préférence ssl pour la route de destination HTTPS ; inventer des noms network.proxy.https ne configure pas les mêmes réglages.

Indiquez les deux routes lorsque la navigation HTTP et HTTPS doivent passer par l'intermédiaire. Cela évite de dépendre d'une action dans la boîte de dialogue des réglages pour copier une route dans l'autre. Le point de terminaison affiché est un simple écouteur de proxy HTTP ; le nom de préférence ssl décrit sa catégorie de destination.

Ces préférences configurent le trafic réseau de Firefox. L'argument --proxy-server de Chromium appartient à une autre interface de navigateur. Le Puppeteer actuel sélectionne Firefox avec browser: 'firefox' ; les exemples plus anciens utilisant product doivent être alignés sur la version de Puppeteer qui a défini cette option.

Articles similaires