Resolver captcha con proxy o sin proxy: ¿qué tipo de tarea necesitas?
Scarnox ofrece PopularCaptcha en dos variantes: sin proxy, donde Scarnox resuelve el captcha desde su propia red, y con proxy, donde envías el proxy que usa tu bot. Ambas devuelven un token con la misma forma de respuesta, y ambas son gratuitas cuando una resolución falla. La única diferencia en la petición es el proxy.
Sin proxy es el punto de partida correcto para la mayoría de los sitios. Envía tu propio proxy solo cuando el sitio ata el token a una dirección IP.
Los dos tipos de tarea
| Tipo de tarea | Qué envías |
|---|---|
PopularCaptchaTaskProxyless | sitekey y URL de la página |
PopularCaptchaTask (variante con proxy) | sitekey, URL de la página y tu proxy |
Ambas son tareas de PopularCaptcha. El resto de la petición, la respuesta y el manejo del token son iguales.
Empieza sin proxy
Las resoluciones sin proxy se ejecutan en la propia red de Scarnox. La integración es la más sencilla que puedes escribir, y en la mayoría de los sitios el token funciona independientemente de la IP que lo envíe después. Si no estás seguro de cuál necesitas, empieza aquí:
{
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": "10000000-ffff-ffff-ffff-000000000001",
"site_url": "https://example.com/signup"
}
Envía un proxy cuando el token está atado a una IP
Algunos sitios comprueban que la IP que resolvió el captcha es la misma IP que envía el formulario. El síntoma es claro: los tokens llegan sin errores, pero el sitio los rechaza siempre. La solución es resolver a través del mismo proxy que tu bot usa para el resto de la sesión:
{
"captcha_type": "PopularCaptchaTask",
"site_key": "10000000-ffff-ffff-ffff-000000000001",
"site_url": "https://example.com/signup",
"proxy": "http://user:pass@203.0.113.10:8080"
}
El formato del proxy es http://user:pass@host:port. Usa el mismo proxy para la resolución y para el envío, y mantenlo fijo durante toda la sesión. Rotar el proxy entre la resolución y el envío devuelve el problema de la discrepancia de IP.
Cómo decidir
Revisa estas preguntas en orden:
- ¿Funciona el token cuando lo envías desde otra máquina? Si es así, usa sin proxy.
- ¿Rechaza el sitio los tokens solo cuando la IP que envía es distinta de la IP que resolvió? Si es así, envía el proxy.
- ¿Usa el sitio una cookie de sesión o una comprobación de dispositivo atada a una sola IP? Si es así, envía el proxy y mantén la misma IP durante toda la sesión.
Prueba ambas opciones con la prueba gratuita antes de comprometerte. Crea una cuenta y empieza con crédito de prueba gratis, sin tarjeta, y luego ejecuta el mismo flujo una vez por cada tipo.
Si tu proxy no funciona
Un intento fallido es gratuito. Si el proxy está caído o el objetivo lo bloquea, la resolución falla y no se te cobra. Prueba tú mismo el proxy antes de la ejecución, comprueba su formato y asegúrate de que el objetivo no bloquea su rango de direcciones. Un proxy que funciona para un navegador pero falla en la resolución suele ser un problema de formato.
No expongas las credenciales del proxy en los registros
Una dirección de proxy con contraseña es un secreto. Guárdala en una variable de entorno o en un gestor de secretos. No la imprimas en los registros, no la subas al control de versiones y no la pegues en informes de errores. Si registras la petición de resolución para depurar, elimina primero el campo proxy.
Cómo elegir un proxy para la variante
La resolución funciona con cualquier proxy que envíes, pero el token solo sirve si la misma IP envía el formulario. Usa una dirección residencial o estática que controles durante toda la sesión, no un pool que rote en cada petición. Los sitios que atan los tokens a IPs suelen atar también la sesión, así que un pool rotatorio rompe el flujo por dos motivos.
¿Y la velocidad?
Ambas variantes devuelven un token con una sola petición bloqueante, sin bucle de sondeo. El timeout es el mismo: unos 185 segundos. Elige la variante según la cuestión de la IP, no según la velocidad.
Sesiones y proxies en la práctica
Usa el mismo proxy desde la primera petición de una sesión hasta la última. Un flujo típico carga la página de registro, resuelve el captcha y envía el formulario. Si la carga de la página pasa por una dirección y la resolución por otra, un sitio que ata la IP puede rechazar el token aunque todo lo demás parezca correcto.
Mantén una única configuración de proxy en tu código y pásala a cada paso que toque el sitio. Si otras partes del trabajo rotan proxies para el scraping, dale al flujo de captcha su propio proxy fijo. Mezclar ambos es una de las razones más comunes por las que un token que funcionó en pruebas falla en producción.
Establece el campo proxy solo en la variante que usa proxy. Enviar un proxy con el tipo de tarea sin proxy no mejora la resolución, y dificulta saber qué modo usó una ejecución cuando lees los registros.
Leer los registros para obtener la respuesta correcta
Si no estás seguro de qué modo necesita un sitio, ejecuta ambos en la misma página y compara. Registra si cada token fue aceptado, junto con el tipo de tarea y si se envió un proxy. Un sitio que acepta de forma consistente los tokens sin proxy no necesita la variante con proxy. Un sitio que rechaza los tokens solo en ciertas ejecuciones apunta a una comprobación de IP. Que decidan los registros, no una suposición.
Próximos pasos
- Cómo resolver un PopularCaptcha en Python
- Captchas invisibles
- Reintentos y manejo de errores que aguantan en producción
- Prueba gratuita del solver de captcha
Empieza con crédito de prueba gratis, sin tarjeta: crea una cuenta y prueba ambos tipos de tarea en una misma página.