407 Proxy Authentication Required es la respuesta del servidor proxy cuando exige autenticación y no recibió una credencial válida. La buena noticia: si apareció un 407, host y puerto están bien, porque la conexión llegó al proxy. El problema está en el usuario, en la contraseña o en la forma en que la herramienta los envía.
Cómo aparece el error
| Dónde | Mensaje |
|---|---|
| curl, sitio HTTPS | curl: (56) CONNECT tunnel failed, response 407 |
| Python requests | ProxyError(... 'Tunnel connection failed: 407 Proxy Authentication Required') |
| Navegador | Ventana que pide usuario y contraseña una y otra vez, o página de error de proxy |
| Antidetect | "Proxy check failed", "Authentication failed" o "407" en la prueba del perfil |
Causas, de la más común a la menos común
1. Un espacio o salto de línea copiado junto
Al seleccionar el texto a mano, se cuela un espacio al final de la contraseña que no se ve en el campo. Solución: borra el campo y pega de nuevo con el botón de copiar del panel.
2. Credencial desactualizada
El proxy se sustituyó o su credencial cambió, y la herramienta sigue usando la antigua. Solución: compara usuario y contraseña con Mis proxies, campo por campo.
3. Carácter especial en la contraseña dentro de una URL
En el formato http://usuario:contrasena@host:puerto, los caracteres @, :, / y # rompen la lectura de la URL. Solución: codifícalos (@ pasa a ser %40, : pasa a ser %3A, / pasa a ser %2F, # pasa a ser %23) o usa campos separados de usuario y contraseña.
4. La herramienta no envía la credencial
Algunos programas solo aceptan host y puerto. Chrome ignora el usuario y la contraseña escritos en la dirección del proxy y no admite autenticación en SOCKS5. Solución: usa el puerto HTTP e introduce la credencial donde la herramienta la pide: en Chrome, en la ventana de inicio de sesión; en automatización, mira las guías de Selenium y Playwright y Puppeteer.
La autenticación es siempre por usuario y contraseña: no existe autorización por IP, así que la credencial tiene que llegar al proxy en cada conexión.
5. Plan vencido
Fuera de la vigencia del plan, la credencial deja de valer. Solución: revisa la fecha en Mis proxies y renueva si hace falta. La renovación antes del vencimiento mantiene la misma IP.
Prueba que separa proxy y herramienta
Ejecuta en la terminal, con tus datos:
curl -v -x http://usuario:[email protected]:8000 https://api.ipify.org
- Devolvió una IP: la credencial es correcta. El 407 viene de la forma en que tu herramienta envía usuario y contraseña.
response 407: la credencial enviada es incorrecta. Cópiala de nuevo del panel; si la contraseña tiene un carácter especial, codifícalo como en el punto 3.
En PowerShell de Windows, usa curl.exe en lugar de curl, para llamar al curl real y no al alias de PowerShell.
En Python
import requests
proxy = "http://usuario:[email protected]:8000"
r = requests.get("https://api.ipify.org", proxies={"http": proxy, "https": proxy}, timeout=20)
print(r.text)
Si la contraseña tiene @ o :, codifícala con urllib.parse.quote(contrasena, safe="") antes de montar la URL. Más ejemplos en proxy en Python.
¿Sigues con 407?
Abre un ticket en el panel con el comando curl que ejecutaste (con la contraseña oculta) y la salida completa de -v. Para otros errores de conexión, mira ERR_PROXY_CONNECTION_FAILED, ERR_TUNNEL_CONNECTION_FAILED y la lista de errores comunes de configuración.