Solución de Problemas

Errores y correcciones de Cloudflare Challenge

La resolución de Cloudflare Challenge es más compleja que otros tipos de CAPTCHA porque requiere coincidencia de proxy, enlace de IP y coherencia del agente de usuario. A continuación se detallan los errores más comunes y cómo solucionar cada uno de ellos.


Errores de envío de API

ERROR_BAD_PARAMETERS

Causa: Faltan parámetros requeridos.

Solución: Cloudflare Challenge requiere estos parámetros:

method=cloudflare_challenge
pageurl=https://example.com
proxy=user:pass@host:port
proxytype=HTTP

Los cuatro son obligatorios. A diferencia de Turnstile o reCAPTCHA, el proxy es obligatorio.

ERROR_PROXY_CONNECTION_FAILED

Causa: CaptchaAI no puede conectarse a través de su proxy.

Arreglo:

  • Pruebe el proxy de forma independiente: curl -x http://user:pass@host:port https://httpbin.org/ip
  • Asegúrese de que el proxy admita HTTPS
  • Verifique los requisitos de lista blanca de IP en su proveedor de proxy
  • Pruebe con un proxy diferente del mismo proveedor

ERROR_PROXY_BANNED

Causa: Cloudflare bloquea tu IP proxy.

Arreglo:

  • Cambiar a un red residencial autorizada o ISP
  • Las IP de los centros de datos están fuertemente marcadas por Cloudflare
  • Gire a una IP nueva y vuelva a intentarlo

ERROR_CAPTCHA_UNSOLVABLE

Causa: El desafío no se pudo resolver, incluso después de reintentarlo.

Arreglo:

  • Es posible que el sitio haya cambiado su configuración de Cloudflare.
  • Pruebe con un proxy diferente (la IP del proxy puede estar bloqueada)
  • Espere 5 minutos y vuelva a intentarlo: es posible que Cloudflare esté en modo de seguridad mejorada
  • Verifique que la URL de la página todavía muestre Cloudflare Challenge

Causa: La IP no coincide entre la solución y el uso.

Solución: Utilice exactamente el mismo proxy para solicitudes posteriores:

# WRONG — different proxy for solving and requests
solve_proxy = "proxy1.example.com:8080"
request_proxy = "proxy2.example.com:8080"

# CORRECT — same proxy for both
proxy = "user:pass@proxy1.example.com:8080"

# Submit solve with this proxy
response = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "cloudflare_challenge",
    "pageurl": "https://example.com",
    "proxy": proxy,
    "proxytype": "HTTP",
    "json": 1
})

# Use the SAME proxy for page requests
session = requests.Session()
session.cookies.set("qa_validation_cookie", solved_cookie)
session.proxies = {"https": f"http://{proxy}"}

Causa: Agente de usuario diferente entre resolución y solicitudes.

Solución: Utilice el agente de usuario devuelto en la respuesta de resolución:

solution = result["request"]

# Extract and reuse the exact user agent
user_agent = solution.get("user_agent")

session = requests.Session()
session.headers["User-Agent"] = user_agent  # Must match exactly
session.cookies.set("qa_validation_cookie", solution["qa_validation_cookie"])

Causa: qa_validation_cookie tiene un TTL limitado (normalmente de 15 minutos a 24 horas).

Arreglo:

  • Comprueba cuándo obtuviste la cookie
  • Resolver antes de que expire el TTL
  • Implemente la resolución automática cuando obtenga una respuesta en la página de desafío
def make_request(url, session):
    response = session.get(url)
    if "challenge" in response.text.lower() or response.status_code == 403:
        # Cookie expired — re-solve
        new_cookie = solve_cloudflare_challenge(url, proxy)
        session.cookies.set("qa_validation_cookie", new_cookie)
        response = session.get(url)
    return response

Errores de tiempo de espera

Resolver lleva demasiado tiempo (>5 minutos)

Causa: Las páginas Cloudflare Challenge pueden ser lentas cuando el proxy es lento o el desafío es complejo.

Arreglo:

  • Utilice un proxy más rápido con menor latencia
  • Aumente el tiempo de espera de su votación a 60 intentos (5 minutos)
  • Compruebe si el sitio realmente tiene Cloudflare Challenge frente a una protección diferente

CAPCHA_NOT_READY persiste

Causa: La solución aún está en progreso.

Arreglo:

  • Los Cloudflare Challenge tardan entre 20 y 60 segundos, más que otros tipos
  • Consulta cada 5 segundos hasta 60 intentos
  • Si aún no está listo después de 5 minutos, cancele y vuelva a intentarlo con un proxy diferente.

Errores comunes de integración

Error Resultado Solución
Parámetro de proxy faltante ERROR_BAD_PARAMETERS Incluya siempre proxy para CF Challenge
Usando el proxy del centro de datos ERROR_PROXY_BANNED Utilice servidores red residencial autorizadaes
UA diferente para solicitudes Cookie rechazada Reutilizar la UA de la solución.
IP diferente para solicitudes Cookie rechazada Utilice el mismo proxy para todas las solicitudes
No configurar el dominio de cookies Cookie no enviada Establezca el dominio en .example.com (con prefijo de punto)
Usar HTTP en lugar de HTTPS La conexión falló Cloudflare requiere HTTPS

Lista de verificación de depuración

  1. ✅ ¿La página realmente está detrás de Cloudflare Challenge? (no Turnstile ni reCAPTCHA)
  2. ✅ ¿Están incluidos todos los parámetros requeridos? (método, URL de página, proxy, tipo de proxy)
  3. ✅ ¿Funciona el proxy? Prueba con curl
  4. ✅ ¿El proxy es residencial o ISP? (Las IP del centro de datos quedan prohibidas)
  5. ✅ ¿Estás utilizando el mismo proxy para resolver Y solicitudes?
  6. ✅ ¿Estás utilizando el agente de usuario devuelto para solicitudes?
  7. ✅ ¿Se está configurando la cookie en el dominio correcto?
  8. ✅ ¿La cookie sigue dentro de su TTL?

Preguntas frecuentes

¿Por qué se requiere proxy para Cloudflare Challenge pero no para reCAPTCHA?

Cloudflare vincula la cookie qa_validation_cookie a la dirección IP. La resolución debe realizarse desde la misma IP que utilizará para solicitudes posteriores. Los tokens reCAPTCHA no están vinculados a IP.

¿Puedo utilizar proxies SOCKS5?

Sí. Configure proxytype=SOCKS5 y formatee el proxy como user:pass@host:port.

Haga una solicitud con la cookie. Si obtiene una respuesta 200 con contenido de la página, es válida. Si recibe un 403 o ve "Comprobando su navegador", la cookie ha caducado.

¿Por qué sigo recibiendo ERROR_CAPTCHA_UNSOLVABLE?

Esto generalmente significa que Cloudflare marca fuertemente la IP del proxy. Gire a una nueva IP residencial. Si el error persiste en varias IP nuevas, es posible que el sitio tenga una configuración de Cloudflare extremadamente estricta.


Guías relacionadas

Los comentarios están deshabilitados para este artículo.