Перейти до вмісту
Guides 2 хв читання 785 переглядів

Налаштування проксі Puppeteer для Node.js

Освоєння налаштування проксі Puppeteer для проектів Node.js. Цей посібник

Browser
Налаштування проксі Puppeteer для Node.js

Щоб налаштувати проксі для Puppeteer у Node.js, налаштуйте аргументи запуску браузера за допомогою --proxy-server=<proxy_address>:<port>, щоб спрямувати весь трафік браузера через вказаний проксі. Це дозволяє маскувати IP-адресу, націлюватися на географічні регіони або обходити обмеження швидкості та блокування IP під час автоматизованої взаємодії з вебом.

Базова конфігурація проксі

Puppeteer контролює екземпляр Chromium, передаючи налаштування проксі безпосередньо через аргументи командного рядка. Основним аргументом є --proxy-server.

Зазначення проксі-сервера

Аргумент --proxy-server приймає адресу та порт проксі. Протокол (HTTP, HTTPS, SOCKS4, SOCKS5) може бути явно визначений; HTTP зазвичай передбачається, якщо його пропущено.

const puppeteer = require('puppeteer');

async function launchBrowserWithProxy(proxyAddress) {
  const browser = await puppeteer.launch({
    args: [
      `--proxy-server=${proxyAddress}`,
      // Optional: For extreme anonymity, consider disabling WebRTC
      // '--disable-features=WebRTC' 
    ],
    headless: true, // or false for headful
  });
  const page = await browser.newPage();
  return { browser, page };
}

async function runBasicProxyExample() {
  const proxy = 'http://your-proxy-ip:port'; // Example: 'http://192.168.1.1:8080' or 'socks5://192.168.1.1:1080'
  let browser;
  try {
    const { browser: launchedBrowser, page } = await launchBrowserWithProxy(proxy);
    browser = launchedBrowser; // Assign to outer scope variable for finally block
    await page.goto('https://httpbin.org/ip'); // A service to show your external IP
    const ipInfo = await page.evaluate(() => document.body.textContent);
    console.log('External IP through proxy:', ipInfo);
  } catch (error) {
    console.error('Error launching browser with proxy:', error);
  } finally {
    if (browser) {
      await browser.close();
    }
  }
}

runBasicProxyExample();

Замініть your-proxy-ip:port на фактичну IP-адресу та порт вашого проксі-сервера. Переконайтеся, що префікс протоколу (наприклад, http://, socks5://) відповідає вашому типу проксі.

Автентифіковані проксі

Багато проксі-сервісів вимагають автентифікації. Puppeteer обробляє це за допомогою page.authenticate() після ініціалізації браузера та сторінки, надсилаючи заголовки HTTP Basic authentication до проксі.

Методи автентифікації проксі

  1. page.authenticate(): Рекомендовано для HTTP Basic authentication з Puppeteer.
  2. username:password@ip:port у --proxy-server: Хоча деякі інструменти підтримують цей формат безпосередньо, page.authenticate() є стандартним підходом Puppeteer для автентифікації.
const puppeteer = require('puppeteer');

async function launchBrowserWithAuthenticatedProxy(proxyAddress, username, password) {
  const browser = await puppeteer.launch({
    args: [`--proxy-server=${proxyAddress}`],
    headless: true,
  });
  const page = await browser.newPage();

  // Authenticate with the proxy
  await page.authenticate({ username, password });

  return { browser, page };
}

async function runAuthenticatedProxyExample() {
  const proxy = 'http://your-authenticated-proxy-ip:port';
  const proxyUsername = 'your_username';
  const proxyPassword = 'your_password';
  let browser;
  try {
    const { browser: launchedBrowser, page } = await launchBrowserWithAuthenticatedProxy(proxy, proxyUsername, proxyPassword);
    browser = launchedBrowser;
    await page.goto('https://httpbin.org/ip');
    const ipInfo = await page.evaluate(() => document.body.textContent);
    console.log('External IP through authenticated proxy:', ipInfo);
  } catch (error) {
    console.error('Error with authenticated proxy:', error);
  } finally {
    if (browser) {
      await browser.close();
    }
  }
}

runAuthenticatedProxyExample();

Стратегії ротації проксі

Для великомасштабного скрапінгу один проксі може призвести до обмеження швидкості. Ротація проксі передбачає перемикання між кількома проксі-серверами для розподілу запитів та підтримки анонімності.

Впровадження ротації проксі

  1. Ведення списку проксі: Зберігайте доступні проксі в масиві, включаючи дані автентифікації, якщо необхідно.
  2. Логіка вибору: Реалізуйте стратегію вибору проксі для кожного нового екземпляра браузера або запиту. Поширені стратегії: Round-Robin, випадковий вибір, зважена ротація.
const puppeteer = require('puppeteer');

// Example list of proxies, some with authentication details
const proxyConfigurations = [
  { address: 'http://proxy1.example.com:8080' },
  { address: 'http://auth-proxy1.example.com:8080', username: 'userA', password: 'passA' },
  { address: 'socks5://proxy3.
Оновлено: 03.03.2026
Назад до категорії

Читайте також

Guides 2 хв

Проксі для Nike SNKRS: купуйте лімітовані релізи та створюйте безліч акаунтів

Використовуйте residential або mobile проксі для Nike SNKRS, щоб брати участь у розіграшах з кількох акаунтів, обходити IP-ліміти та купувати лімітовані дропи без банів. Який тип обрати та як налаштувати GProxy.

Guides 2 хв

Як налаштувати проксі на iPhone (Wi-Fi та SOCKS5)

Налаштуйте проксі на iPhone через стандартні параметри Wi-Fi (HTTP/HTTPS) або додаток для проксі, як-от Shadowrocket, для SOCKS5 та стільникового зв'язку. Покрокове налаштування iOS та обмеження, про які варто знати.

Guides 3 хв

Проксі для Tinder: мультиакаунтинг та уникнення банів

Використовуйте мобільні або резидентські проксі для Tinder, щоб керувати кількома профілями та уникати IP shadowbans. Чому мобільні виграють, як усе налаштувати та чому сам по собі проксі не змінить ваше місто.

Guides 2 хв

Проксі для StockX: моніторинг цін та керування акаунтами

Використовуйте residential, ISP або mobile проксі для StockX, щоб моніторити ціни, керувати кількома акаунтами та купувати дропи без банів. Ось який тип обрати та як налаштувати GProxy.

Guides 3 хв

Проксі для OpenAI API: доступ, ліміти (Rate Limits) та налаштування

Маршрутизуйте OpenAI API через residential або ISP проксі, щоб отримати доступ до підтримуваних регіонів, уникнути 429 rate limits та ізолювати акаунти. Який проксі використовувати плюс приклади налаштування Python.

Guides 1 хв

Налаштування проксі в Cypress для E2E тестування

Налаштування проксі в Cypress: змінні HTTP_PROXY, cy-proxy-middleware та тестування геозалежного контенту.

Спробуйте наші проксі

20,000+ проксі в 100+ країнах світу

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.