logo
bars
Pago por resolución · API

Solucionador Cloudflare Challenge

CapMonster Cloud es un solucionador Cloudflare Challenge con un API. Devuelve una cookie token o cf_clearance, por lo que su automatización continúa sin un paso manual.

Última actualización:

Pruébalo gratis: saldo de prueba de $0,10 ↓
Tiempo promedio de resolución
12 – 14 s
Tasa de éxito
99%
por 1000 fichas
$ 1.30

Precios del solucionador Cloudflare Challenge

CAPTCHA
Precio (USD)
$ 1.30
1000 tokens
Elegir Cloudflare Challenge o torniquete

Cloudflare Challenge y Cloudflare Turnstile

Cómo distinguir Challenge de Turnstile

Un Cloudflare Challenge y un widget Turnstile pueden tener el mismo aspecto. Un Desafío no siempre es una página separada de “Sólo un momento…”: se le puede diseñar, incrustar en el sitio o hacer que parezca un widget de Turnstile normal, por lo que no se pueden distinguir por su apariencia.

Qué solucionador CapMonster Cloud usar

Cloudflare Turnstile

widget
donde lo ves
Un widget dentro de una página o formulario
lo que devuelve
Un token en cf-turnstile-response
Página de CapMonster
Solucionador Cloudflare Turnstile

Cloudflare Challenge

403 · challenge-form
donde lo ves
Un cheque con estilo integrado en el sitio o en una página intersticial; identificado por un 403 en la primera solicitud y un challenge-form con __cf_chl_f_tk=
lo que devuelve
Una cookie token o cf_clearance
Página de CapMonster
Esta página: Solucionador Cloudflare Challenge

Si estos signos están presentes, es una Cloudflare Challenge: use el solucionador Cloudflare Challenge en esta página, que devuelve una cookie token o cf_clearance. De lo contrario, utilice el solucionador Cloudflare Turnstile.

Comparación de solucionadores Cloudflare Challenge

La tabla enumera el precio por cada 1000 soluciones, el tiempo promedio de resolución y la tasa de éxito de resolución para cuatro servicios de resolución Cloudflare Challenge.

ParámetroCapMonster Cloud2CaptchaAnticaptchaMejorCaptchaSolver
Precio por 1000 soluciones
$ 1.30$1.45$2.00$1.80
Tiempo promedio de resolución
12 – 14 s14 – 18 s18 – 22 s22 – 30 s
Tasa de éxito en la resolución
99%97%95%80%

Precio Cloudflare Turnstile según lo indicado por el proveedor; Cloudflare Challenge no aparece por separado.

2Captcha, Anti-Captcha y BestCaptchaSolver son marcas comerciales de sus respectivos propietarios. CapMonster Cloud no está afiliado a estas entidades. Las métricas de rendimiento se basan en una evaluación comparativa interna realizada el 26.08.2026. Las comparaciones de precios se basan en datos disponibles públicamente a partir de 30.09.2026.

Pruébalo gratis

Resuelve Cloudflare Challenge en segundos

99% de pases exitosos. Pruebe la estabilidad en sus propios sitios de destino ahora mismo. No garantizamos una tasa de éxito del 100 %: los tipos de CAPTCHA y la configuración del sitio de destino pueden cambiar en cualquier momento.

$0.10

Los nuevos usuarios obtienen $0,10 en saldo de prueba para probar CapMonster Cloud.

  1. 1. Regístrate en CapMonster Cloud.

  2. 2. Escribe a soporte por el chat en vivo o a support@capmonster.cloud con el email de tu cuenta.

Sin tarjeta de crédito · SDK listos para usar para Python, Node.js, C#

Para qué utilizan los equipos la resolución Cloudflare Challenge

Control de calidad y pruebas de extremo a extremo

Ejecute flujos de registro, pago y formulario en CI/CD con Playwright, Puppeteer o Selenium en páginas que posee o que puede probar.

Monitoreo

Compruebe que las páginas detrás de Cloudflare Challenge sigan siendo accesibles después de lanzamientos y cambios de reglas.

Datos disponibles públicamente

Recopile datos disponibles públicamente de páginas abiertas protegidas por un Cloudflare Challenge.

Accesibilidad

Admite flujos de trabajo de asistencia automatizados en sitios que muestran una página de verificación antes de cargar.

Agentes de IA

Permita que un agente solicite una cookie token o cf_clearance a través de MCP cuando un flujo de trabajo alcance un desafío.

Sólo uso legítimo

Utilice CapMonster Cloud para obtener datos disponibles públicamente y en sitios de su propiedad o que esté autorizado a realizar pruebas. Está prohibido recopilar datos de terceros detrás de un inicio de sesión o un muro de pago sin permiso.

Tipos de desafíos Cloudflare

Cómo el Cloudflare emite y verifica los desafíos

Cloudflare ofrece tres tipos de páginas de desafío: JS Challenge, Managed Challenge y Interactive Challenge. Si se muestra un desafío lo deciden las reglas WAF o Bot Management. CapMonster Cloud cubre los tres tipos de desafíos siguientes; WAF / Bot Management es un producto más amplio y se enumera por separado.

Sources: Documentación de Cloudflare — Cómo funcionan los desafíos · Páginas de desafío intersticiales · En modo ataque

“Desafío de 5 segundos”

1. JS Challenge

Una prueba intersticial no interactiva: el navegador ejecuta JavaScript y Cloudflare califica el resultado antes de que se cargue la página. No se requiere ningún usuario action.

Dónde aparece
Página intermedia con una comprobación en segundo plano
Resultado devuelto
Cookie cf_clearance (por defecto)

incluido Under Attack Mode

2. Managed Challenge

Con Cloudflare Managed Challenge, Cloudflare selecciona la verificación dinámicamente a partir de las características de la solicitud y las señales del navegador. Under Attack Mode utiliza Managed Challenge.

Dónde aparece
Página intermedia; Cloudflare elige el tipo de comprobación
Resultado devuelto
Cookie cf_clearance (por defecto)

widget en página intersticial

3. Interactive Challenge

Interactive Challenge Las páginas requieren que el visitante interactúe con el desafío para aprobar.

Dónde aparece
Página intermedia con una comprobación interactiva obligatoria
Resultado devuelto
Cookie cf_clearance (por defecto)

4. WAF / Bot Management

Capa de reglas y puntuación que decide cuándo se entrega un desafío de bot Cloudflare. Cloudflare calcula esta decisión utilizando motores de detección, que incluyen:

Dónde aparece
Capa de reglas para procesar solicitudes y evaluar el riesgo
Resultado devuelto
No devuelve nada por sí misma: según la puntuación de riesgo, activa una de las acciones anteriores (o un bloqueo)

Más amplio que los tres tipos de desafíos y no es sinónimo de ellos.

  • Heuristics engine compara cada solicitud con una base de datos de huellas dactilares de bots conocidas.
  • JS Detections engine una verificación opcional e invisible del lado del cliente JavaScript que marca los navegadores sin cabeza.
  • Machine Learning engine un modelo supervisado que genera Bot Score, de 1 a 99, a partir de patrones en miles de millones de solicitudes diarias.

Sources: Puntuaciones de bots · Motores de detección de bots · Detecciones de JavaScript

Flujo de trabajo Cloudflare Challenge

  1. 1. Solicitar

    El navegador solicita una página protegida. Cloudflare Bot Management califica la solicitud según la huella digital TLS, la reputación de IP y las señales de comportamiento.

  2. 2. Puntuación del robot

    Los motores de heurística, detecciones JS y aprendizaje automático producen una puntuación de bot de 1 a 99, y las reglas WAF deciden si se debe realizar un desafío.

  3. 3. página intersticial

    Si la solicitud parece sospechosa, Cloudflare devuelve la página "Sólo un momento..." con el código de estado 403 y ejecuta JS Challenge, Managed Challenge o Interactive Challenge.

  4. 4. cf_clearance

    Cuando se supera la verificación, Cloudflare emite una cookie cf_clearance vinculada al visitante y al dispositivo y válida por un tiempo limitado.

  5. 5. Acceso

    El navegador carga la página original con la cookie. Cloudflare sigue reevaluando el comportamiento de la sesión (Precursor clearance) y puede representar un nuevo desafío.

¿Qué es la cookie cf_clearance?

cf_clearance es la cookie que Cloudflare emite después de que un visitante pasa por una Cloudflare Challenge. El navegador lo envía con las siguientes solicitudes al sitio protegido y la página se abre sin un desafío repetido.

Propiedades de la cookie, según documentación de Cloudflare:

Visitante y dispositivo

Vinculado al visitante y al dispositivo al que se emitió.

Toda la vida

Válido por un tiempo limitado (30 minutos de forma predeterminada; el sitio lo configura con Challenge Passage): un script de larga duración debe pasar la verificación nuevamente una vez que caduque.

Verificación de acceso

No es una garantía por sí sola: Precursor clearance sigue reevaluando el comportamiento de la sesión y puede desencadenar un desafío repetido incluso si la cookie no ha caducado.

Qué invalida una cookie cf_clearance

Encuadernación

Cambio de visitante o dispositivo

El acceso se restablece: la cookie está vinculada al visitante y al dispositivo para el que se emitió

Toda la vida

Caducidad

La cookie deja de funcionar; el script debe pasar la verificación nuevamente

Comportamiento

Precursor clearance

Cloudflare puede reducir o restablecer el nivel de autorización y presentar un desafío repetido si el tráfico parece sospechoso

Token o cf_clearance: qué resultado solicitar

Para desarrolladores que utilizan CapMonster Cloud para obtener un token o cf_clearance

El parámetro cloudflareTaskType de TurnstileTask decide lo que devuelve CapMonster Cloud. Elija la opción según lo que requiera el sitio de destino: una token para el desafío callback en la página, o una cookie cf_clearance para sus solicitudes adicionales.

Ficha y cf_clearance

Parámetrofichacf_clearance
cloudflareTaskTypetokencf_clearance
apoderadoOpcionalse ejecuta en servidores proxy CapMonster Cloud de forma predeterminadaRequeridotu propio proxy
websiteKeyClave Cloudflare Challenge, p.e. 0x4AAAAAAABUYP0XeMJF0xoyCualquier cadena, p.e. xxxxxx
Datos de la páginapageAction, data (cData), pageData (chlPageData)htmlPageBase64 — Base64 de la página 403 “Solo un momento”
Resultadosolution.tokensolution.cf_clearance
donde usarloEl desafío callback en la página.Encabezado Cookie: cf_clearance=<value> o contexto del navegador

Tipos de proxy admitidos (cf_clearance)

proxyTypeDescripción
httpProxy HTTP normal
httpsÚselo para algunos servidores proxy personalizados
socks4proxy SOCKS4
socks5proxy SOCKS5

Referencia completa de parámetros: Documentación de tareas Cloudflare Challenge.

Cómo utilizar el solucionador Cloudflare Challenge

El CapMonster Cloud API actúa como un solucionador cf_clearance: acepta los parámetros de la tarea, los procesa en sus servidores y devuelve una cookie token o cf_clearance. Resolver un Cloudflare Challenge requiere cuatro pasos: obtener una clave API, enviar la tarea, sondear el resultado y utilizar el token o la cookie devuelta en sus propias solicitudes.

Tu guiónCapMonster Cloud APISitio de destino

Obtenga su clave API

  • Cree una cuenta en CapMonster Cloud.
  • Abra el tablero y busque su clave API.
  • Utilice esta clave como parámetro clientKey en sus solicitudes.

Enviar una tarea — createTask

Llame a createTask con tipo TurnstileTask. El parámetro cloudflareTaskType decide qué obtiene de vuelta: una cookie token o una cookie cf_clearance. Elija la opción según lo que requiera el sitio de destino. Consulte Cómo distinguir Challenge de Turnstile.

Opción 1 · Desafío (token): se ejecuta en servidores proxy CapMonster Cloud de forma predeterminada. Campos obligatorios:

ParámetroDescripción
tipoTurnstileTask
websiteURLURL de la página donde se resuelve el desafío
websiteKeyClave Cloudflare Challenge, p.e. 0x4AAAAAAABUYP0XeMJF0xoy
cloudflareTaskTypetoken
pageActionEl campo action del captcha callback, generalmente managed o non-interactive
userAgentUA actual compatible con CapMonster Cloud. Puede obtener el valor más reciente en https://capmonster.cloud/api/useragent/actual.
datosValor del parámetro cData
pageDataValor del parámetro chlPageData

Opcional: apiJsUrl y los campos de proxy. Los proxy propios sólo son necesarios cuando el sitio no acepta el token o los servicios integrados están restringidos; con autorización de IP, lista blanca 65.21.190.34.

Ejemplo de solicitud:

json
{
  "clientKey": "API_KEY",
  "task": {
    "type": "TurnstileTask",
    "websiteURL": "https://yourwebsite.com/page-with-cf-challenge",
    "websiteKey": "your-website-key",
    "cloudflareTaskType": "token",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    "pageAction": "your-page-action",
    "pageData": "your-page-data",
    "data": "your-data"
  }
}

Opción 2 · Desafío (cookie): requiere su propio proxy. Campos obligatorios:

ParámetroDescripción
tipoTurnstileTask
websiteURLURL de la página donde se resuelve el desafío
websiteKeySe puede pasar cualquier cadena, p. xxxxxx
cloudflareTaskTypecf_clearance
htmlPageBase64Base64 de la página "Solo un momento" regresó con el estado 403
userAgentUA actual compatible con CapMonster Cloud. Puede obtener el valor más reciente en https://capmonster.cloud/api/useragent/actual.
proxyTypehttp, https (para algunos servidores proxy personalizados), socks4, socks5
proxyAddress, proxyPort, proxyLogin, proxyPasswordTu apoderado. No se permiten proxies transparentes y de máquina local.

Ejemplo de solicitud:

json
{
  "clientKey": "API_KEY",
  "task": {
    "type": "TurnstileTask",
    "websiteURL": "https://yourwebsite.com/page-with-cf-challenge",
    "websiteKey": "xxxxxxxxxx",
    "cloudflareTaskType": "cf_clearance",
    "htmlPageBase64": "PCFET0NUWVBFIGh0...vYm9keT48L2h0bWw+",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    "proxyType": "your-proxy-type",
    "proxyAddress": "your-proxy-address",
    "proxyPort": 1234,
    "proxyLogin": "your-proxy-login",
    "proxyPassword": "your-proxy-password"
  }
}

Punto final y respuesta: lo mismo para ambas opciones:

text
POST https://api.capmonster.cloud/createTask
{
  "errorId": 0,
  "taskId": 407533072,
  "errorCode": null,
  "errorDescription": null
}

Encuesta el resultado — getTaskResult

Encuesta getTaskResult con taskId hasta que status se convierta en ready. La solicitud es idéntica para ambas opciones; el objeto solution lleva el resultado que usted solicitó.

Punto final y solicitud:

text
POST https://api.capmonster.cloud/getTaskResult
{
  "clientKey": "API_KEY",
  "taskId": 407533072,
  "errorCode": null,
  "errorDescription": null
}

Opción 1 · Desafío (token) — solution.token

json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    "token": "0.iGX3xsyFCkbGePM3jP4P4khLo6TrLukt8ZzBvwuQOvbC...f61f3082"
  }
}

Utilice token cuando llame a la función callback en la página.

Opción 2 · Desafío (cookie) — solution.cf_clearance

json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "cf_clearance": "1tarGvbY2_ZhQdYxpSBloao.FoOn9VtcJtmb_IQ_hCE-1761217338-1.2.1.1-vyVPoLYIGX0...ZHi.w"
  }
}

Cookie especial Cloudflare que usted agrega a su navegador o envía con solicitudes HTTP sin procesar.

Utilice el token o cookie devuelto

Si utiliza la cookie, pase su valor en el encabezado Cookie: cf_clearance=<value> en solicitudes HTTP sin procesar, o configúrelo en el contexto del navegador antes de volver a solicitar la URL protegida.

Si usas el token, pásalo al desafío callback en la página.

Cómo encontrar los parámetros Cloudflare Challenge

La opción token necesita los valores que la página pasa a turnstile.render cuando comienza el desafío: sitekey (websiteKey), action (pageAction), cData (datos) y chlPageData (pageData). La opción de cookies necesita el HTML de la página de desafío en htmlPageBase64; websiteKey puede ser cualquier cadena.

Cómo encontrar los parámetros Cloudflare Challenge
javascript
(function () {
  const obj = {
    render: function () {
      const { action, cData, chlPageData } = arguments[1];
      console.table([["action", action], ["data", cData], ["pageData", chlPageData]]);
    }
  };
  Object.defineProperty(window, "turnstile", { get: () => obj });
})();
sitekey → websiteKey
action → pageAction
cData → data
chlPageData → pageData
  1. Ejecute este JavaScript antes de que se carguen los demás scripts de la página; reemplaza a window.turnstile e imprime los parámetros pasados a render.

  2. Lea action (pageAction), cData (datos) y chlPageData (pageData) de la tabla en la consola; sitekey (websiteKey) se pasa en el mismo objeto. pageAction suele ser managed o non-interactive.

  3. Para recopilar los valores automáticamente, utilice un navegador controlado por Playwright (normal o sin cabeza): envuelva window.turnstile en un Proxy e intercepte render. Los ejemplos listos en JavaScript, Python y C# se encuentran en la documentación.

  4. Algunos valores cambian en cada representación de la página del desafío, así que cree la tarea inmediatamente después de recopilarlos.

javascript
fetch('https://example.com')
  .then(res => res.arrayBuffer())
  .then(buf => console.log(btoa(String.fromCharCode(...new Uint8Array(buf)))));
  1. Solicitar el sitio protegido; devuelve la página "Sólo un momento..." con el código de estado 403.

  2. Codifique esa página en Base64; esto es htmlPageBase64 (el fragmento se muestra de una manera; los ejemplos de Playwright con page.content() se encuentran en la documentación).

  3. Pase cualquier cadena como websiteKey (por ejemplo xxxxxx) y use su propio proxy.

  4. Cree la tarea inmediatamente después de recopilar los valores.

Solucionador Cloudflare Challenge con SDK oficial

CapMonster Cloud proporciona bibliotecas listas para usar para trabajar cómodamente en Python, JavaScript (Node.js) y C#.
A continuación se muestran ejemplos de código que muestran cómo crear una tarea de resolución de CAPTCHA con createTask y recuperar el resultado con getTaskResult utilizando nuestras bibliotecas cliente.
SDK oficiales
Python
python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import TurnstileRequest
API_KEY = "YOUR_API_KEY"
async def solve_turnstile_challenge():
    client = CapMonsterClient(options=ClientOptions(api_key=API_KEY))
    # Ejemplo básico sin proxy; CapMonster Cloud utiliza automáticamente sus propios servidores proxy
    turnstile_request = TurnstileRequest(
        websiteURL="https://yourwebsite.com/page-with-cf-challenge",
        websiteKey="your-website-key",
        data="your-data",
        pageAction="managed",
        cloudflareTaskType="token",
        pageData="your-page-data",
        userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    )
    balance = await client.get_balance()
    print("Balance:", balance)
    result = await client.solve_captcha(turnstile_request)
    print("Solution:", result)
asyncio.run(solve_turnstile_challenge())
python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import TurnstileRequest
from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY"
async def main():
    client = CapMonsterClient(options=ClientOptions(api_key=API_KEY))
    # Cloudflare cf_clearance solo se puede resolver usando tu propio proxy
    proxy = ProxyInfo(proxyType="http", proxyAddress="123.45.67.89", proxyPort=8080, proxyLogin="username", proxyPassword="password")
    turnstile_request = TurnstileRequest(
        websiteURL="https://yourwebsite.com/page-with-cf-challenge",
        websiteKey="your-website-key",
        cloudflareTaskType="cf_clearance",
        proxy=proxy,
        htmlPageBase64="your_html_page_base64",
        userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    )
    balance = await client.get_balance()
    print("Balance:", balance)
    result = await client.solve_captcha(turnstile_request)
    print("Solution:", result)
asyncio.run(main())
Node.js
javascript
const { CapMonsterCloudClientFactory, ClientOptions, TurnstileRequest } = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY";
(async () => {
  const client = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
  // Ejemplo básico sin proxy; CapMonster Cloud utiliza automáticamente sus propios servidores proxy
  const turnstileRequest = new TurnstileRequest({
    websiteURL: "https://yourwebsite.com/page-with-cf-challenge",
    websiteKey: "your-website-key",
    data: "your-data",
    pageAction: "managed",
    cloudflareTaskType: "token",
    pageData: "your-page-data",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
  });
  const balance = await client.getBalance();
  console.log("Balance:", balance);
  const result = await client.Solve(turnstileRequest);
  console.log("Solution:", result.solution);
})();
javascript
const { CapMonsterCloudClientFactory, ClientOptions, TurnstileRequest } = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY";
async function solveTurnstileCfClearance() {
  const client = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
  // Cloudflare cf_clearance solo se puede resolver usando tu propio proxy
  const proxy = { proxyType: "http", proxyAddress: "123.45.67.89", proxyPort: 8080, proxyLogin: "username", proxyPassword: "password" };
  const turnstileRequest = new TurnstileRequest({
    websiteURL: "https://yourwebsite.com/page-with-cf-challenge",
    websiteKey: "xxxxxxx",
    cloudflareTaskType: "cf_clearance",
    proxy,
    htmlPageBase64: "your_html_page_base64",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
  });
  const balance = await client.getBalance();
  console.log("Balance:", balance);
  const result = await client.Solve(turnstileRequest);
  console.log("Solution:", result.solution);
}
solveTurnstileCfClearance().catch(console.error);
C#
csharp
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
    static async Task Main(string[] args)
    {
        var clientOptions = new ClientOptions { ClientKey = "YOUR_API_KEY" };
        var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
        // Ejemplo básico sin proxy; CapMonster Cloud utiliza automáticamente sus propios servidores proxy
        var turnstileRequest = new TurnstileRequest
        {
            WebsiteUrl = "https://yourwebsite.com/page-with-cf-challenge",
            WebsiteKey = "your-website-key",
            Data = "your-data",
            PageAction = "managed",
            CloudflareTaskType = "token",
            PageData = "your-page-data",
            UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36"
        };
        var balance = await cmCloudClient.GetBalanceAsync();
        Console.WriteLine("Balance: " + balance);
        var turnstileResult = await cmCloudClient.SolveAsync(turnstileRequest);
        Console.WriteLine("Solution: " + turnstileResult.Solution.Value);
    }
}
csharp
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
    static async Task Main(string[] args)
    {
        var clientOptions = new ClientOptions { ClientKey = "YOUR_API_KEY" };
        var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
        // Cloudflare cf_clearance solo se puede resolver usando tu propio proxy
        var turnstileRequest = new TurnstileRequest
        {
            WebsiteUrl = "https://yourwebsite.com/page-with-cf-challenge",
            WebsiteKey = "your-website-key",
            CloudflareTaskType = "cf_clearance",
            HtmlPageBase64 = "your_html_page_base64",
            UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
            Proxy = new ProxyContainer("123.45.67.89", 8080, ProxyType.Http, "username", "password")
        };
        var balance = await cmCloudClient.GetBalanceAsync();
        Console.WriteLine("Balance: " + balance);
        var turnstileResult = await cmCloudClient.SolveAsync(turnstileRequest);
        Console.WriteLine("Solution: " + turnstileResult.Solution.Clearance);
    }
}

Para flujos de trabajo con poco código, utilice el CapMonster Cloud nodo n8n oficial .

Utilizando la cookie cf_clearance en sus solicitudes

text
GET https://example.com/protected-page
User-Agent: <userAgent from the task>
Cookie: cf_clearance=<value>
mismo proxymismo User-Agentcookie no caducada

Pase el valor devuelto en el encabezado Cookie: cf_clearance=<value> en solicitudes HTTP sin procesar o configúrelo en el contexto del navegador antes de volver a solicitar la URL protegida. En los ejemplos oficiales se utiliza el mismo proxy y el mismo User-Agent para cargar la página, resolver la tarea y enviar la solicitud con la cookie.

En Selenium, Playwright o Puppeteer, configure la cookie con el método propio del marco antes de navegar a la URL protegida; luego, el navegador abre la página sin un desafío repetido. Si solicitó un token, páselo al desafío callback en la página.

Background

Errores Cloudflare Challenge y cómo solucionarlos

La mayoría de los errores de Cloudflare Challenge provienen de una cookie cf_clearance caducada o que no coincide, un proxy que el servicio no acepta o parámetros de página desactualizados. Cada tarjeta a continuación nombra el error y la solución.
Bug Icon

Desafío repetido o 403 después de resolverlo.

La solicitud no tiene una cookie cf_clearance válida, la cookie ha caducado o Cloudflare volvió a verificar la sesión (Precursor clearance). Solicite una nueva cookie.
Bug Icon

Proxy o User-Agent difiere de la tarea

Utilice el mismo proxy y el mismo userAgent que en la tarea al solicitar la página protegida, como en los ejemplos oficiales. Cloudflare también señala que un Managed Challenge resuelto desde una IP diferente a aquella para la que se emitió no es válido y puede provocar un bucle de desafío; consulte la documentación de Cloudflare.
Bug Icon

Cookie caducada

La cookie es válida por un tiempo limitado. Un script de larga duración debe resolver el desafío nuevamente una vez que caduque.
Bug Icon

Proxy no aceptado

Utilice http, https, socks4 o socks5.
Bug Icon

Parámetros de página obsoletos

Algunos valores cambian en cada representación de la página del desafío. Extráigalos inmediatamente antes de crear la tarea.

Preguntas frecuentes sobre Cloudflare Challenge

¿Qué es un Cloudflare Challenge?

Cloudflare Challenge es una verificación intermedia que Cloudflare muestra antes de otorgar acceso a una página protegida cuando una regla WAF, Bot Management o una limitación de velocidad consideran que la solicitud es sospechosa (por ejemplo, según la huella digital TLS, la reputación de IP o las señales de comportamiento). Mientras la verificación está en curso, el visitante ve una página intermedia "Sólo un momento...". Si la verificación se supera con éxito, Cloudflare emite una cookie cf_clearance (está vinculada al visitante y al dispositivo y es válida por un tiempo limitado), después de lo cual el navegador obtiene acceso a la página original.

¿Cuál es la diferencia entre JS Challenge, Managed Challenge y torniquete?

Los tres dependen de las señales del lado del cliente del navegador. JS Challenge (no interactivo) se ejecuta en segundo plano, normalmente en menos de cinco segundos; si no se supera, Cloudflare muestra otra página de desafío. Managed Challenge permite a Cloudflare elegir la verificación dinámicamente desde las características de la solicitud y las señales del navegador, hasta un paso interactivo. Turnstile es un widget integrable que devuelve un token para ser validado a través del Siteverify API; con la autorización previa opcional también puede emitir una cookie cf_clearance.

¿Por qué sigo recibiendo un Cloudflare CAPTCHA, una página de verificación o un error 403?

Un desafío repetido o un 403 significa que la solicitud no tiene una cookie cf_clearance válida, la cookie ha caducado o la solicitud proviene de un visitante o dispositivo diferente al que se envió la cookie. Incluso una cookie válida no garantiza el acceso: Cloudflare mantiene Precursor clearance, una reevaluación continua del comportamiento de la sesión que puede reducir o restablecer el nivel de autorización y desencadenar un desafío repetido si el patrón de tráfico comienza a parecer sospechoso.

¿Cómo resuelve CapMonster Cloud un Cloudflare Challenge?

CapMonster Cloud resuelve la tarea de forma asincrónica a través de dos llamadas a API: createTask con los parámetros de la tarea, seguido del sondeo de getTaskResult hasta que la solución esté lista. Dependiendo del tipo de tarea, el servicio devuelve una cookie token, que se inserta en callback sin un proxy, o una cookie cf_clearance, para la cual un proxy es obligatorio. Luego, pasa el valor resultante en el encabezado Cookie: cf_clearance=<value> de las solicitudes HTTP regulares, o lo configura en el contexto del navegador, después de lo cual la página protegida se abre sin pasar la verificación manualmente.

¿Cómo soluciono Cloudflare Challenge en mi proyecto?

Envíe una solicitud POST a createTask con su clientKey (clave API) y los parámetros de la tarea, espere a que el resultado esté listo sondeando getTaskResult (hasta que el estado sea ready), luego use el token o cookie resultante en su cliente HTTP o en la automatización del navegador. Para integraciones listas para usar, use los SDK oficiales en los repositorios CapMonster Cloud en GitHub: envuelven el ciclo createTask/getTaskResult en una sola llamada.

¿Necesito un proxy para resolver los desafíos Cloudflare?

Un proxy es obligatorio sólo para la tarea que devuelve una cookie cf_clearance. En los ejemplos oficiales, se utiliza el mismo proxy para las siguientes solicitudes. Para obtener un resultado de token no se requiere ningún proxy: CapMonster Cloud utiliza sus servidores proxy integrados de forma predeterminada (si incluye la lista blanca por IP, agregue 65.21.190.34). Tipos admitidos: http, https, socks4, socks5; No se permiten proxies transparentes ni proxies en máquinas locales.

¿Puedo usar CapMonster Cloud como solucionador de Cloudflare Challenge con n8n o Selenium?

Sí. Para n8n, existe un nodo oficial CapMonster Cloud, instalado desde la interfaz o mediante npm install @zennolab_com/n8n-nodes-capmonstercloud en instancias autohospedadas. En otros casos, su código primero realiza una solicitud HTTP normal a CapMonster API (a través de solicitudes, axios o cualquier otro cliente HTTP), y luego el resultado se pasa al marco del navegador (Selenium, Playwright, Puppeteer, etc.) usando su propio método. La cookie cf_clearance debe configurarse con este método antes de navegar a la URL protegida; luego, el navegador abrirá la página con una verificación ya válida, sin un desafío repetido.

¿Es legal resolver los desafíos Cloudflare automáticamente?

Resolver Cloudflare Challenge es una operación técnica y su licitud depende de cómo se utilice el acceso resultante, no de la herramienta en sí. CapMonster Cloud está destinado a la automatización legal (prueba, monitoreo y recopilación de datos disponibles públicamente), mientras que la responsabilidad del cumplimiento de la ley y de los Términos de uso del recurso de destino recae en el usuario.

CapMonster Cloud

No garantizamos una tasa de éxito del 100 %: los tipos de CAPTCHA y la configuración del sitio de destino pueden cambiar en cualquier momento. La velocidad de resolución real y la tasa de éxito varían según el sitio de destino, la carga del servidor y las condiciones de la red.

Cloudflare es una marca comercial de Cloudflare, Inc. CapMonster Cloud no está afiliado ni respaldado por Cloudflare. El Servicio está destinado a datos disponibles públicamente, pruebas de sitios web propios o autorizados, reconocimiento de imágenes y accesibilidad. Está prohibido recopilar datos de terceros detrás de un inicio de sesión o un muro de pago sin permiso; sus propias cuentas no se ven afectadas. Usted determina la situación jurídica de sus datos antes de comenzar a trabajar.