Cómo solucionar el error ERR_NO_SUPPORTED_PROXIES en Puppeteer con proxies SOCKS5H

'puppeteer' 'err_no_supported_proxies' 'socks5h'

Cuando se trabaja con Puppeteer, una potente librería Node.js utilizada para la automatización de navegadores, los usuarios pueden encontrarse con varios errores al intentar configurar los ajustes del proxy. Uno de los errores más específicos es ERR_NO_SUPPORTED_PROXIESespecialmente cuando se utiliza el protocolo socks5h. Este blog pretende desglosar el error, explicar sus causas y ofrecer una solución para superar el problema.

¿Qué es Puppeteer?

Titiritero es ampliamente utilizado para la automatización de navegadores, web scraping y pruebas de aplicaciones web. Se trata de una versión headless de Chrome (o Chromium) que permite a los usuarios programar acciones en un entorno de navegador mediante JavaScript. Una de sus funcionalidades clave incluye la capacidad de configurar los ajustes de red, incluidos los proxies, lo que lo convierte en una opción popular para aquellos que buscan automatizar tareas de scraping detrás de proxies.

¿Qué es SOCKS5 y SOCKS5H?

Antes de analizar el error, es importante entender las diferencias entre SOCKS5 y SOCKS5H:

  • SOCKS5 es un protocolo proxy versátil que permite la transmisión de datos a través de una conexión TCP. Es compatible con una amplia gama de aplicaciones, como la navegación, el correo electrónico y las transferencias P2P.
  • SOCKS5H (SOCKS5 con resolución de nombre de host) amplía SOCKS5 resolviendo las consultas DNS en el servidor proxy en lugar de en la máquina local. Esta capa añadida de privacidad garantiza que las peticiones DNS no se filtren, lo que convierte a socks5h en la opción preferida para ciertos usuarios preocupados por la seguridad.

¿Por qué se produce el error ERR_NO_SUPPORTED_PROXIES?

El error ERR_NO_SUPPORTED_PROXIES se produce cuando Puppeteer no puede configurar correctamente y conectarse a un proxy especificado. Esto puede ocurrir a menudo cuando los usuarios intentan utilizar el protocolo socks5h con Puppeteer.

Varios factores pueden provocar este error:

Protocolo proxy no compatible: Puppeteer soporta nativamente ciertos tipos de proxies pero puede tener problemas con otros, como socks5h. Si el protocolo proxy no esta soportado, Puppeteer lanzara el error ERR_NO_SUPPORTED_PROXIES.

Configuración incorrecta del proxy: La configuración incorrecta del proxy o el suministro de una URL de proxy no válida puede provocar este error.

Conflictos de resolución de DNS: Dado que socks5h resuelve las consultas DNS en el servidor proxy, cualquier problema con la resolución DNS o el propio servidor proxy podría desencadenar el error.

Versión obsoleta de Puppeteer: Las versiones antiguas de Puppeteer pueden no soportar configuraciones avanzadas de proxy, incluyendo SOCKS5 o SOCKS5H.

Cómo solucionar 'ERR_NO_SUPPORTED_PROXIES' en Puppeteer

Aquí tienes una guía paso a paso sobre cómo solucionar y resolver este error:

Paso 1. Verificar la compatibilidad con el protocolo proxy

Mientras que socks5h proporciona protección contra fugas de DNS, Puppeteer no soporta de forma nativa el protocolo socks5h, pero si soporta socks5. Puedes empezar comprobando en la documentación de Puppeteer el soporte de proxies. Cambiar a SOCKS5 puede resolver el problema de 'puppeteer' 'err_no_supported_proxies' 'socks5h' en la mayoria de los casos. Aqui hay un ejemplo de como configurar Puppeteer con un proxy SOCKS5:

const browser = await puppeteer.launch({
    args: ['--proxy-servidor=socks5://'proxy-host':'proxy-puerto''].
});

Si tu proyecto requiere socks5h debido a problemas de resolución DNS, puedes considerar el uso de un plugin de gestión de proxy (explicado en el siguiente paso).

Paso 2. Actualizar Puppeteer Actualice Puppeteer a la última versión

Asegúrese de que la versión de Puppeteer que está utilizando está actualizada. Las nuevas versiones a menudo introducen correcciones y nuevas características, incluyendo un mejor soporte de proxy. Para actualizar Puppeteer:

npm install puppeteer@latest

Paso 3. Utilizar Puppeteer Extra con el Plugin Proxy Usar Puppeteer Extra con el Plugin Proxy

Si socks5h es imprescindible para tu proyecto, considera usar el plugin puppeteer-extra-plugin-proxy. Este plugin extiende las capacidades proxy de Puppeteer y soporta configuraciones proxy más avanzadas, incluyendo socks5h.

npm install puppeteer-extra puppeteer-extra-plugin-proxy

Luego, en su script Puppeteer

const puppeteer = require('puppeteer-extra');
const pluginProxy = require('puppeteer-extra-plugin-proxy');

puppeteer.use(pluginProxy({
    proxyUrl: 'socks5h://'proxy-host':'proxy-puerto''
}));

puppeteer.launch().then(async navegador => {
    const page = await browser.newPage();
    await page.goto('https://example.com');
    await browser.close();
});

Esta configuración permite a Puppeteer utilizar el protocolo socks5h y evitar el error ERR_NO_SUPPORTED_PROXIES.

Paso 4. Compruebe la configuración del servidor proxy

Por último, es importante verificar que la configuración del servidor proxy es correcta. Asegúrese de que el servidor proxy soporta socks5h y que no existen restricciones que puedan impedir la conexión de Puppeteer.

Paso 5. Elija proxies con soporte de resolución DNS

Cuando se trabaja con Puppeteer y proxies, la eleccion del proveedor de proxy juega un papel critico para evitar errores como ERR_NO_SUPPORTED_PROXIES. Si socks5h no es un requerimiento estricto pero la prevención de fugas DNS si lo es, considera usar servicios proxy de alta calidad que manejen la resolución DNS de forma segura. Para esto, OkeyProxy ofrece soluciones proxy robustas que manejan protocolos SOCKS5, enviando una opción ideal para proyectos Puppeteer.

Con OkeyProxylos usuarios se benefician de:

  • Alta velocidad y estabilidad: Las conexiones proxy fiables garantizan que las tareas de web scraping o automatización se desarrollen sin interrupciones.
  • Soporte SOCKS5: OkeyProxy es totalmente compatible con el protocolo SOCKS5, por lo que se adapta perfectamente a las configuraciones de Puppeteer.
  • Cobertura Global: Con una amplia red de servidores proxy en todo el mundo, OkeyProxy garantiza un rendimiento óptimo, independientemente de su ubicación.
okeyproxy

Para aquellos que buscan el equilibrio entre rendimiento, privacidad y compatibilidad, OkeyProxy es una opción de primer nivel para la integración de proxies con Puppeteer. El beneficio añadido de la resolución DNS y opciones avanzadas de proxy garantiza la navegación web segura y anónima o automatización.

Regístrese en y Póngase en contacto con el equipo de OkeyProxy para obtener una prueba gratuita de 1 GB

Conclusión

El error ERR_NO_SUPPORTED_PROXIES en Puppeteer a menudo proviene del uso de protocolos proxy no soportados como socks5h. Verificando la configuración del proxy, actualizando Puppeteer a la última versión, o incorporando plugins como puppeteer-extra-plugin-proxy, este problema puede ser resuelto eficazmente. Además, la elección de un proveedor de proxy fiable como OkeyProxy puede garantizar flujos de trabajo de automatización del navegador seguros y sin problemas con Puppeteer.

La adopción de estos consejos de solución de problemas permitirá a los usuarios de Puppeteer evitar los errores relacionados con el proxy y lograr el éxito en sus proyectos de automatización.

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *