Ir al contenido
EstadoPanel

Tipos de tarea

Página de verificación de Cloudflare (5 segundos)

Esta página se tradujo automáticamente de la versión en chino y puede contener errores. Prevalece la versión en chino.

IlustraciónLa página de verificación de Cloudflare reemplaza toda la página ("Un momento..."). Normalmente la comprobación termina sola y el navegador pasa a la página real.

La página de verificación de Cloudflare es la página de comprobación que bloquea todo el sitio y muestra “Un momento…” o “Comprobando tu navegador”. YesCaptcha abre la página con el proxy que le indiques, supera la comprobación y devuelve cookies como cf_clearance, el User-Agent que usó, los encabezados de la solicitud y de la respuesta, y el HTML de la página una vez superada. CloudFlareTaskS2 cuesta 25 puntos (≈ $3.75 / 1k) por tarea y CloudFlareTaskS3 cuesta 20 puntos (≈ $3.00 / 1k) por tarea; los dos tipos tienen los mismos parámetros, resultados y efectividad, y solo cambia el precio. Es asíncrono: una tarea suele tardar entre 6 y 35 segundos, con diferencias notables según el sitio. Si la resolución falla o se agota el tiempo, se hace un reembolso de puntos automático.

POSThttps://api.yescaptcha.com/createTaskEndpoint global
POSThttps://cn.yescaptcha.com/createTaskEndpoint China
  • El código fuente de la página contiene __cf_chl_rt_tk o cdn-cgi/challenge-platform, y el título es Just a moment... / “Un momento…”: es la página de verificación de Cloudflare. Las páginas de comprobación que piden marcar la casilla “Confirma que eres una persona” también se resuelven con esta página.
  • Si solo hay un cuadro de verificación de Cloudflare incrustado en un formulario, es Turnstile y no necesitas esta página.
  • Si al hacer la solicitud con una librería como requests recibes un 403 con “Just a moment…” pero el navegador abre la página sin problema, lo más probable es que solo te bloqueen por la huella TLS. Usa una librería que imite la huella TLS de un navegador (como curl_cffi) y podrás hacer la solicitud sin necesidad de superar la comprobación.
Tipo de tareaPrecioModoNotas
CloudFlareTaskS2$3.75 / 1k; 25 puntos/tarea · ¥25 / 1kAsíncronoProxy propio
CloudFlareTaskS3$3.00 / 1k; 20 puntos/tarea · ¥20 / 1kAsíncronoProxy propio

Los precios en dólares son estimaciones con US$1 ≈ ¥6.67; las tareas se cobran en puntos.

CampoTipoObligatorioDescripción
typestringSíTipo de tarea; consulta "Tipos de tarea y precios" en esta página
websiteURLstringSíURL completa de la página protegida por la verificación. Debe ser una URL pública que empiece por http:// o https://; se rechazan las direcciones IP privadas y los nombres de host locales o internos como localhost
proxystringSíProxy como una sola cadena: http://user:[email protected]:8080 (proxy HTTP, credenciales opcionales) o socks5://proxy.example.com:1080 (sin credenciales). No se admiten proxies https:// ni SOCKS5 con credenciales, y se rechazan las direcciones locales o privadas. Todas las solicitudes a la página de destino pasan por este proxy
userAgentstringNoNormalmente omítelo. Solo se usa un User-Agent de Chrome de escritorio en Linux; cualquier otro (Windows, macOS, móvil, otros navegadores) se ignora. Usa siempre el user_agent del resultado en las solicitudes posteriores
waitLoadbooleanNoPor defecto es false. Si es true, después de superar la verificación la tarea espera a que se estabilice la actividad de red de la página antes de devolver el resultado, así que content incluye más contenido cargado dinámicamente; tarda unos segundos más
requiredCookiesarrayNoNombres de las cookies que se deben obtener, como un arreglo de cadenas, p. ej. ["cf_clearance"]. Si se envía, la tarea solo tiene éxito cuando se obtienen todas; de lo contrario devuelve ERROR_CAPTCHA_UNSOLVABLE y se reembolsan los puntos. Si se omite, la tarea igualmente intenta obtener cf_clearance, pero tiene éxito (y se cobran los puntos) con las otras cookies que haya obtenido, así que envíalo explícitamente si necesitas cf_clearance
blockImagebooleanNoSi es true, no se cargan las imágenes de la página de destino (excepto las que necesita la propia verificación de Cloudflare), lo que ahorra tráfico del proxy
postDataobjectNoSi se envía, se manda a websiteURL como un POST de formulario HTML normal (application/x-www-form-urlencoded): cada clave es un campo del formulario y los valores se envían como cadenas, p. ej. {"name": "hi"}. Debe ser un objeto

proxy es obligatorio, y todas las solicitudes para abrir la página de destino pasan por este proxy. cf_clearance está ligado a la IP de salida, así que después debes usar el mismo proxy para acceder al sitio de destino.

Formato ¿Compatible?
http://user:[email protected]:8080 Sí: proxy http con usuario y contraseña
http://proxy.example.com:8080 Sí: proxy http sin usuario ni contraseña
socks5://proxy.example.com:1080 Sí: proxy socks5 sin usuario ni contraseña; socks5h:// se trata como socks5://
socks5://user:[email protected]:1080 No, devuelve ERROR_PROXY_INCORRECT; si necesitas usuario y contraseña, usa un proxy http
https://proxy.example.com:443 u otros protocolos, o sin puerto No, devuelve ERROR_PROXY_INCORRECT
Direcciones locales, de red interna o reservadas como 127.0.0.1, 192.168.x.x, 10.x.x.x, o dominios que se resuelven a ellas Se rechaza, devuelve ERROR_PROXY_BANNED

Normalmente no envíes userAgent. Superamos la comprobación con Chrome de escritorio en Linux, así que solo se usa un User-Agent que también sea de Chrome de escritorio en Linux; cualquier otro (Windows, macOS, móvil u otros navegadores) se ignora: en las pruebas, Cloudflare no supera la comprobación cuando el entorno real del navegador no coincide con el User-Agent. En las solicitudes posteriores usa siempre el user_agent del resultado.

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "CloudFlareTaskS3",
"websiteURL": "https://example.com/",
"proxy": "http://user:[email protected]:8080",
"requiredCookies": ["cf_clearance"]
}
}
  • Para usar CloudFlareTaskS2, cambia solo type; lo demás queda igual.
  • Si envías requiredCookies con ["cf_clearance"] y no se obtiene cf_clearance, la tarea falla y se reembolsan los puntos. Si no lo envías, una tarea que no obtiene cf_clearance pero sí otras cookies también se considera exitosa y se cobran los puntos.
  • Para enviar un formulario, añade postData, por ejemplo {"name": "hi"}; se enviará a websiteURL como un formulario POST.

Tras crear la tarea, llama a getTaskResult cada 5 segundos; el flujo es igual que en las demás tareas asíncronas, consulta getTaskResult.

{
"errorId": 0,
"status": "ready",
"solution": {
"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
"cookies": {
"cf_clearance": "Wq3vXk9...-1760860800-1.2.1.1-..."
},
"request_headers": {
"accept-language": "en-US,en;q=0.9",
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"
},
"headers": {
"content-type": "text/html; charset=UTF-8",
"server": "cloudflare"
},
"content": "<!DOCTYPE html>..."
}
}

El valor de la cookie y los encabezados de arriba son ilustrativos; usa lo que devuelva la API.

CampoTipoDescripción
cookiesobjectTodas las cookies del navegador después de pasar la verificación (objeto de nombre a valor), normalmente incluye cf_clearance; si envías requiredCookies, se incluyen todas ellas. Úsalas junto con el user_agent devuelto y el proxy que indicaste
user_agentstringEl User-Agent que el navegador usó realmente para pasar la verificación (Chrome de escritorio en Linux). cf_clearance está vinculado a él, así que úsalo en todas las solicitudes posteriores
request_headersobjectEncabezados de solicitud que el navegador envió en su última solicitud a la página de destino; reutilízalos en las solicitudes posteriores
headersobjectEncabezados de respuesta de la página de destino después de pasar la verificación
contentstringCódigo fuente HTML de la página de destino después de pasar la verificación
  1. En las solicitudes posteriores usa a la vez las cookies devueltas, el user_agent devuelto y el mismo proxy que usaste al crear la tarea. cf_clearance está ligado al User-Agent y a la IP de salida; si cualquiera de los tres no coincide, volverá a aparecer la página de verificación.
  2. Envía los encabezados de request_headers en la medida de lo posible y usa una huella TLS acorde con la del navegador (por ejemplo, la opción impersonate de curl_cffi).
  3. cf_clearance tiene un periodo de validez (lo define el sitio de destino; en algunos llega a 1 hora). Dentro de ese periodo no necesitas superar la comprobación otra vez; si envías solicitudes con demasiada frecuencia, Cloudflare puede bloquear tu IP.
  4. Si solo necesitas el contenido de la página, puedes usar content directamente y no hace falta solicitarla de nuevo.

Los errores devueltos al crear la tarea no se cobran; si la tarea falla o se agota el tiempo después de crearse, se hace un reembolso de puntos automático. La API solo devuelve el código de error y una descripción genérica; consulta la causa concreta en la tabla.

Código de error Cuándo se devuelve Qué hacer
ERROR_REQUIRED_FIELDS Al crear la tarea: falta websiteURL o proxy Añade los dos campos obligatorios
ERROR_ILLEGAL_PARAMETERS Al crear la tarea: websiteURL no es una URL pública que empiece por http:// o https://, postData no es un objeto, o requiredCookies no es un arreglo de cadenas. Al consultar el resultado: no se pudo resolver el dominio de la URL de destino a través del proxy Corrige los parámetros; revisa la ortografía de la URL y si el proxy puede acceder al sitio
ERROR_PROXY_INCORRECT Al crear la tarea: el formato del proxy es incorrecto, falta el puerto, o se usó un proxy https:// o socks5 con usuario y contraseña Corrígelo según el formato de “Requisitos del proxy”; si necesitas usuario y contraseña, usa un proxy http
ERROR_PROXY_BANNED Al crear la tarea: el proxy es una dirección local, de red interna o reservada, o no logró conectarse varias veces en poco tiempo. Al consultar el resultado: Cloudflare del sitio de destino bloqueó directamente la IP de este proxy (páginas “Sorry, you have been blocked” o “Access denied”) Cambia de proxy; cuanto mejor sea la calidad de la IP, más fácil es pasar
ERROR_PROXY_CONNECT_REFUSED No se pudo conectar al proxy (conexión rechazada, no se resuelve el dominio del proxy), o la conexión fue rechazada o restablecida al abrir la página a través del proxy Revisa la dirección y el puerto del proxy, y confirma que está en línea y permite acceso externo; si sigue fallando, cambia de proxy
ERROR_PROXY_CONNECT_TIMEOUT Se agotó el tiempo al conectar con el proxy o al abrir la página a través de él Usa un proxy más rápido y estable
ERROR_PROXY_NOT_AUTHORISED El usuario o la contraseña del proxy son incorrectos Revisa el usuario y la contraseña en proxy; codifica en URL los caracteres especiales
ERROR_PROXY_TLS_ERROR Error en el handshake TLS al abrir la página a través del proxy Confirma que la dirección, el puerto y el protocolo del proxy son correctos; si sigue fallando, cambia de proxy
ERROR_CAPTCHA_UNSOLVABLE No se superó la comprobación en el tiempo establecido, la página seguía en la comprobación tras superarla, o no se obtuvo una cookie requerida en requiredCookies Prueba primero con otro proxy; en sitios concretos puedes contactar con soporte
ERROR_NO_SLOT_AVAILABLE Al crear la tarea: la cola está llena. Al consultar el resultado: la tarea esperó demasiado en la cola sin empezar, y se reembolsaron los puntos Espera unos segundos y vuelve a crear la tarea
ERROR_TASK_TIMEOUT La tarea no se completó en el tiempo establecido Vuelve a crear la tarea; si los tiempos de espera se repiten, normalmente el proxy es demasiado lento

Consulta todos los códigos de error en Códigos de error.