GBProxies

Як використовувати автентифіковані проксі з Puppeteer

Chrome приймає хост і порт проксі як прапорець запуску, а Puppeteer відповідає на запит авторизації через page.authenticate.

Кроки

  1. Запустіть Chrome з --proxy-server=host:port
  2. Викличте page.authenticate з ім’ям користувача та паролем проксі
  3. Увімкніть перехоплення запитів, щоб блокувати зображення та шрифти
  4. Відкрийте один браузер на кожен session id для статичних IP

Приклад коду

import puppeteer from "puppeteer";

const browser = await puppeteer.launch({ args: ["--proxy-server=gw.gbproxies.cc:10000"] });
const page = await browser.newPage();
await page.authenticate({ username: "USERNAME-cc-fr-sid-shop1-ttl-30", password: "PASSWORD" });
await page.setRequestInterception(true);
page.on("request", (r) => (["image", "font", "media"].includes(r.resourceType()) ? r.abort() : r.continue()));
await page.goto("https://api.ipify.org");
console.log(await page.content());
await browser.close();

Замініть USERNAME та PASSWORD на логін проксі зі сторінки Proxies у консолі. Порт 10000, це резидентський HTTP; див. порти кожного продукту нижче.

Поради

  • Блокування зображень часто зменшує трафік на сторінку більше ніж удвічі
  • Статичний session id зберігає той самий IP для всього потоку перегляду

Поширені запитання

Чому Chrome все ще показує вікно авторизації?

page.authenticate має бути викликаний до першої навігації на цій сторінці.

Як використовувати автентифіковані проксі з Puppeteer