Guía de conexión: cómo configurar proxies SOCKS5/HTTP por lenguaje y herramienta
Guía de conexión para Socks5Proxy: configuración de proxies SOCKS5/HTTP en Python requests, Node.js, cURL, Selenium, Puppeteer, Playwright y Scrapy con ejemplos de código funcional.
¿Qué información necesito para conectar a un proxy?
Cada línea contiene: IP, puertos HTTP/SOCKS5, usuario y contraseña. Descarga listas desde el dashboard o usa la API para obtener los mismos datos.
Todos los ejemplos de esta guía usan la IP 198.51.100.23, puerto HTTP 8000, puerto SOCKS5 1080, username spx_user y password spx_pass. La red 198.51.100.0/24 está reservada para documentación y no se puede conectar realmente, así que cámbiala por los valores de tu lista de proxies.
Hay dos métodos de autenticación: nombre de usuario y contraseña, o autorización por IP, donde puedes registrar hasta 10 direcciones IPv4 de tu servidor en el panel para conexiones solo con ip:port. Es útil en herramientas que no admiten contraseñas, como los argumentos de ejecución de Chrome.
| Ítem | Valor de ejemplo | Descripción |
|---|---|---|
| IP | 198.51.100.23 | Dirección del servidor proxy |
| Puerto HTTP | 8000 | Conexión HTTP y HTTPS(CONNECT) |
| Puerto SOCKS5 | 1080 | Conexión TCP SOCKS5 |
| Usuario | spx_user | Autenticación por usuario/contraseña |
| Contraseña | spx_pass | Autenticación por usuario/contraseña |
¿Cómo conectarse, con HTTP o SOCKS5?
La mayoría de las tareas que solicitan páginas web y API son suficientes con el puerto HTTP. Las direcciones HTTPS también se transmiten cifradas mediante el método CONNECT, por lo que el proxy no altera el contenido.
SOCKS5 puede manejar conexiones TCP no HTTP y delegar la resolución DNS al proxy. En Python usa socks5h, en cURL --socks5-hostname para que las consultas DNS no salgan de tu servidor. Cada IP tiene ambos puertos, así que elige el que tu herramienta soporte.
¿Cómo puedo obtener y usar la lista mediante código?
Las claves API se crean en la sección de claves API del dashboard y solo se muestran una vez, así que guárdalas en un lugar seguro. Incluye la clave en el encabezado 'Authorization: Bearer' en todas las solicitudes. Este código es un ejemplo en Python para obtener una lista SOCKS5 en formato user:pass@ip:port. Las guías explican cómo conectar esta lista a las herramientas.
import requests
API = "https://socks5proxy.io/api/v1"
KEY = "YOUR_API_KEY"
# Download the proxy list as plain text, one proxy per line
r = requests.get(
API + "/proxies/download",
params={"format": "user:pass@ip:port", "protocol": "socks5"},
headers={"Authorization": "Bearer " + KEY},
timeout=30,
)
r.raise_for_status()
proxies = [line.strip() for line in r.text.splitlines() if line.strip()]
print(len(proxies), "proxies loaded")¿Por dónde empezar?
Elige la guía según tu lenguaje y herramientas. Todas incluyen verificación de conexión, solución de errores y métodos para distribuir IPs.
- Python requests: conexión más simple de HTTP y SOCKS5 y rotación de listas
- Node.js: ProxyAgent(HTTP) y socks-proxy-agent(SOCKS5) de undici
- cURL: Verificación de conexión y medición de tiempo de respuesta desde la línea de comandos
- Selenium: Chrome con autorización por IP y configuración para Firefox
- Puppeteer: --proxy-server y page.authenticate
- Playwright: proxy por navegador y contexto
- Scrapy: meta proxy y middleware rotativo por solicitud
¿Qué formato de lista elegir?
Como cada herramienta acepta formatos distintos, al descargar listas puedes seleccionar el formato. La mayoría de bibliotecas aceptan direcciones directamente (http://user:pass@ip:port o socks5://user:pass@ip:port). Para programas con campos separados para IP, puerto, usuario y contraseña, usa ip:port:user:pass para facilitar el copiado.
Si usas autorización por IP, elige el formato ip:port. Para programas de cálculo o documentos de gestión, el formato CSV es conveniente. Puedes obtener la misma lista para HTTP y SOCKS5 por separado, con solo los puertos diferentes.
| Formato | Ejemplo | Casos de uso |
|---|---|---|
| ip:port:user:pass | 198.51.100.23:8000:spx_user:spx_pass | Pantalla de configuración dividida |
| user:pass@ip:port | spx_user:spx_pass@198.51.100.23:8000 | Ensamblado de direcciones en código |
| http://user:pass@ip:port | http://spx_user:spx_pass@198.51.100.23:8000 | requests, cURL, Scrapy |
| socks5://user:pass@ip:port | socks5://spx_user:spx_pass@198.51.100.23:1080 | Biblioteca SOCKS5 |
| ip:port | 198.51.100.23:8000 | Autorización por IP, argumentos de ejecución del navegador |
| CSV | ip,http_port,socks_port,user,pass,country | Cálculos de tabla, documentos de gestión |
¿Cómo almacenar la información de proxies de forma segura?
No subas nombres de usuario, contraseñas ni claves API a repositorios de código. Usa variables de entorno o gestores de secretos. Si se expusieron accidentalmente, genera nuevas claves API en el dashboard para invalidar las anteriores.
Si tu servidor tiene IP fija, usar autorización IP es lo más seguro. Aunque la lista se filtre, no se podrá conectar desde IPs no registradas. Puedes añadir hasta 10 IPs permitidas y cambiarlas en cualquier momento.
Si hay varios miembros en el equipo, es más fácil que cada uno reciba la lista a través de la API en lugar de compartir archivos en una carpeta. También es útil tener un registro de las listas recibidas para verificar problemas.
¿Qué verificar si no se establece la conexión?
Primero, prueba con cURL en una línea para verificar si el proxy responde. Un código 407 significa que el nombre de usuario o la contraseña son incorrectos, y si estás usando autorización por IP, verifica que la IP del servidor que envía la solicitud esté en la lista permitida. Si el tiempo de conexión se agota, verifica el puerto (como HTTP 8000 o SOCKS5 1080, que varían en cada línea).
Si el problema persiste, puedes contactar al soporte desde el panel. Proporciona la línea utilizada, la herramienta y el mensaje de error para una revisión rápida.