Ir al contenido
GProxy
Registro
Гайды 2 min de lectura 33 vistas

Configuración de Proxy de Puppeteer para Node.js

Domina la configuración de proxy de Puppeteer para proyectos Node.js. Esta guía cubre la integración, configuración y mejores

Браузер
Configuración de Proxy de Puppeteer para Node.js

Para configurar un proxy para Puppeteer en Node.js, configure los argumentos de lanzamiento del navegador con --proxy-server=<proxy_address>:<port> para enrutar todo el tráfico del navegador a través del proxy especificado. Esto permite el enmascaramiento de direcciones IP, la segmentación geográfica o la elusión de límites de velocidad y prohibiciones de IP durante las interacciones web automatizadas.

Configuración Básica de Proxy

Puppeteer controla una instancia de Chromium, pasando la configuración del proxy directamente a través de argumentos de línea de comandos. El argumento principal es --proxy-server.

Especificar un Servidor Proxy

El argumento --proxy-server acepta la dirección y el puerto del proxy. El protocolo (HTTP, HTTPS, SOCKS4, SOCKS5) puede definirse explícitamente; HTTP se asume típicamente si se omite.

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();

Reemplace your-proxy-ip:port con la dirección IP y el puerto reales de su servidor proxy. Asegúrese de que el prefijo del protocolo (por ejemplo, http://, socks5://) coincida con su tipo de proxy.

Proxies Autenticados

Muchos servicios de proxy requieren autenticación. Puppeteer maneja esto a través de page.authenticate() después de la inicialización del navegador y la página, enviando encabezados de autenticación HTTP Basic al proxy.

Métodos de Autenticación de Proxy

  1. page.authenticate(): Recomendado para autenticación HTTP Basic con Puppeteer.
  2. username:password@ip:port en --proxy-server: Aunque algunas herramientas admiten este formato directamente, page.authenticate() es el enfoque estándar de Puppeteer para la autenticación.
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();

Estrategias de Rotación de Proxies

Para el scraping a gran escala, un solo proxy puede llevar a la limitación de velocidad. La rotación de proxies implica cambiar entre múltiples servidores proxy para distribuir las solicitudes y mantener el anonimato.

Implementación de la Rotación de Proxies

  1. Mantener una Lista de Proxies: Almacene los proxies disponibles en un array, incluyendo los detalles de autenticación si es necesario.
  2. Lógica de Selección: Implemente una estrategia para elegir un proxy para cada nueva instancia de navegador o solicitud. Estrategias comunes: Round-Robin, Selección Aleatoria, Rotación Ponderada.

```javascript
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.

Actualizado: 03.03.2026
Volver a la categoría

Pruebe nuestros proxies

20,000+ proxies en 100+ países del mundo

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