@lumpenkoder

Как установить на каждую страницу свой прокси?

Поясните незнающему, как подключить каждую страницу к разному прокси.
Пробовал использовать puppeteer-page-proxy, при коннекте просто отваливался браузер с ошибкой "Target closed".
Погуглил и нарыл, что можно юзать Proxy-Chain, но как? Я создавал отдельный сервер для прокси и брал из списка валидированный для данного урла прокси, но браузер по прежнему просто крашился и выдавало ошибку "Target closed". Весь код:
let ProxyChain = require("proxy-chain");
let { Cluster } = require("puppeteer-cluster");

(async () => {
  let driver = await Cluster.launch({
    concurrency: Cluster.CONCURRENCY_CONTEXT,
    maxConcurrency: 2,
    puppeteerOptions: {
      headless: false,
    },
  });

  await driver.task(async ({ page, data: url }) => {
    let server = new ProxyChain.Server({
      port: 8000,
      verbose: true,
      prepareRequestFunction: async ({ request }) => {
        console.log(123);
        return {
          upstreamProxyUrl: await require("./proxy-provider")(
            "proxies1.txt"
          ).getRandomProxy(url),
        };
      },
    });

    server.listen(() => console.log("worked"));

    await page.setRequestInterception(true);

    await page.goto(url);
  });

  driver.queue("TARGET_URL");

  await driver.idle();
  await driver.close();
})();
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
никак

только спец браузером
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы