const endpoint = new URL(browserlessWebSocketEndpoint);
endpoint.searchParams.set('token', browserlessToken);
endpoint.searchParams.set('launch', JSON.stringify({
  args: ['--proxy-server=http://proxy.example:8080'],
}));

const browser = await puppeteer.connect({
  browserWSEndpoint: endpoint.toString(),
});

Используйте выданные для развёртывания адрес ws/wss и токен. Хост браузера должен иметь доступ к HTTP-слушателю; этот токен аутентифицирует управляющее соединение. Для разрешённого просмотра публичных страниц кандидат из списка HTTP-прокси может заполнить флаг запуска без аутентификации.

JSON.stringify сериализует объект launch, затем URLSearchParams кодирует его для URL. Если передать в searchParams текст, уже обработанный encodeURIComponent, его знаки процента будут закодированы повторно.

Этот флаг без аутентификации не передаёт учётные данные Chromium с именем пользователя и паролем. При необходимости используйте поддерживаемую обработку запросов аутентификации.

Интеграция externalProxyServer хостингового сервиса не является одноимённым полем объекта launch в каждом самостоятельно размещённом образе. Прежде чем искать проблему в учётной записи, сопоставьте развёртывание, версию образа и выбранный API.

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