logo
bars
Pagamento per soluzione · API

Risolutore Cloudflare Challenge

CapMonster Cloud è un risolutore Cloudflare Challenge con un API. Restituisce un cookie token o cf_clearance, quindi l'automazione continua senza un passaggio manuale.

Ultimo aggiornamento:

Provalo gratuitamente: saldo di prova di $ 0,10 ↓
Tempo medio di risoluzione
12 – 14 s
Tasso di successo
99%
ogni 1000 gettoni
$ 1.30

Prezzi del risolutore Cloudflare Challenge

CAPTCHA
Prezzo (USD)
$ 1.30
1000 gettoni
Scegliendo Cloudflare Challenge o Tornello

Cloudflare Challenge rispetto a Cloudflare Turnstile

Come distinguere Challenge da Turnstile

Un widget Cloudflare Challenge e un widget Tornello possono avere lo stesso aspetto. Una sfida non è sempre una pagina separata "Solo un momento...": può essere stilizzata, incorporata nel sito o fatta assomigliare a un normale widget Turnstile, in modo che non sia possibile distinguerli dall'apparenza.

Quale risolutore CapMonster Cloud utilizzare

Cloudflare Turnstile

widget
Dove lo vedi
Un widget all'interno di una pagina o di un modulo
Cosa restituisce
Uno token nello cf-turnstile-response
Pagina CapMonster
Risolutore Cloudflare Turnstile

Cloudflare Challenge

403 · challenge-form
Dove lo vedi
Un assegno in stile incorporato nel sito o in una pagina interstitial; identificato da un 403 alla prima richiesta e da uno challenge-form con __cf_chl_f_tk=
Cosa restituisce
Un cookie token o cf_clearance
Pagina CapMonster
Questa pagina: Risolutore Cloudflare Challenge

Se questi segni sono presenti, si tratta di un Cloudflare Challenge: utilizzare il risolutore Cloudflare Challenge in questa pagina, che restituisce un cookie token o cf_clearance. Altrimenti, utilizzare il risolutore Cloudflare Turnstile.

Risolutori Cloudflare Challenge a confronto

La tabella elenca il prezzo per 1000 soluzioni, il tempo medio di risoluzione e la percentuale di successo della risoluzione per quattro servizi di risoluzione Cloudflare Challenge.

ParametroCapMonster Cloud2CaptchaAnti-CaptchaMiglior risolutore di captcha
Prezzo per 1000 soluzioni
$ 1.30$1.45$2.00$1.80
Tempo medio di risoluzione
12 – 14 s14 – 18 s18 – 22 s22 – 30 s
Tasso di successo della risoluzione
99%97%95%80%

Prezzo Cloudflare Turnstile indicato dal fornitore; Cloudflare Challenge non è elencato separatamente.

2Captcha, Anti-Captcha e BestCaptchaSolver sono marchi dei rispettivi proprietari. CapMonster Cloud non è affiliato con queste entità. I parametri di prestazione si basano su benchmark interni condotti il ​​26.08.2026. I confronti dei prezzi si basano su dati disponibili al pubblico a partire da 30.09.2026.

Provalo gratuitamente

Risolvi Cloudflare Challenge in pochi secondi

99% di passaggi riusciti. Testa subito la stabilità sui tuoi siti di destinazione. Non garantiamo una percentuale di successo del 100%: i tipi CAPTCHA e la configurazione del sito di destinazione possono cambiare in qualsiasi momento.

$0.10

I nuovi utenti ricevono $ 0,10 nel saldo di prova per provare CapMonster Cloud.

  1. 1. Registrati su CapMonster Cloud.

  2. 2. Scrivi al supporto tramite live chat o a support@capmonster.cloud indicando l’email del tuo account.

Nessuna carta di credito · SDK già pronti per Python, Node.js, C#

Per quali team utilizzano la risoluzione Cloudflare Challenge

QA e test end-to-end

Esegui flussi di registrazione, pagamento e moduli in CI/CD con Playwright, Puppeteer o Selenium sulle pagine che possiedi o che sei autorizzato a testare.

Monitoraggio

Controlla che le pagine dietro Cloudflare Challenge rimangano raggiungibili dopo rilasci e modifiche alle regole.

Dati disponibili al pubblico

Raccogli dati disponibili pubblicamente da pagine aperte protette da Cloudflare Challenge.

Accessibilità

Supporta flussi di lavoro assistivi automatizzati su siti che mostrano una pagina di verifica prima del caricamento.

Agenti dell'intelligenza artificiale

Consenti a un agente di richiedere un cookie token o cf_clearance tramite MCP quando un flusso di lavoro raggiunge una sfida.

Solo uso legittimo

Utilizza CapMonster Cloud per i dati disponibili pubblicamente e sui siti di tua proprietà o che sei autorizzato a testare. È vietato raccogliere dati di terze parti dietro un login o un paywall senza autorizzazione.

Tipi di sfide Cloudflare

Come Cloudflare emette e controlla le sfide

Cloudflare serve tre tipi di pagine di sfida: JS Challenge, Managed Challenge e Interactive Challenge. Se una sfida viene mostrata viene decisa dalle regole WAF o Bot Management. CapMonster Cloud copre i tre tipi di sfida seguenti; WAF / Bot Management è un prodotto più ampio ed è elencato separatamente.

Sources: Documentazione Cloudflare - Come funzionano le sfide · Pagine delle sfide interstiziali · Modalità Sotto attacco

“Sfida di 5 secondi”

1. JS Challenge

Un test interstitial non interattivo: il browser esegue JavaScript e Cloudflare valuta il risultato prima che la pagina venga caricata. Non è richiesto alcun utente action.

Dove appare
Pagina intermedia con un controllo in background
Risultato restituito
Cookie cf_clearance (predefinito)

incl. Under Attack Mode

2. Managed Challenge

Con Cloudflare Managed Challenge, Cloudflare preleva il controllo in modo dinamico dalle caratteristiche della richiesta e dai segnali del browser. Under Attack Mode utilizza Managed Challenge.

Dove appare
Pagina intermedia; Cloudflare sceglie il tipo di controllo
Risultato restituito
Cookie cf_clearance (predefinito)

widget sulla pagina interstitial

3. Interactive Challenge

Interactive Challenge Le pagine richiedono che un visitatore interagisca con la sfida per superarla.

Dove appare
Pagina intermedia con un controllo interattivo obbligatorio
Risultato restituito
Cookie cf_clearance (predefinito)

4. WAF / Bot Management

Livello di regole e punteggi che decide quando viene servita una sfida bot Cloudflare. Cloudflare calcola questa decisione utilizzando motori di rilevamento, tra cui:

Dove appare
Livello di regole per elaborare le richieste e valutare il rischio
Risultato restituito
Non restituisce nulla autonomamente: in base al punteggio di rischio, attiva una delle azioni precedenti (o un blocco)

Più ampio dei tre tipi di sfida e non è un loro sinonimo.

  • Heuristics engine associa ogni richiesta a un database di impronte digitali di bot conosciute.
  • JS Detections engine un controllo JavaScript opzionale e invisibile sul lato client che contrassegna i browser headless.
  • Machine Learning engine un modello supervisionato che produce il punteggio Bot, 1–99, da modelli relativi a miliardi di richieste giornaliere.

Sources: Punteggi bot · Motori di rilevamento bot · Rilevamenti JavaScript

Cloudflare Challenge Flusso di lavoro

  1. 1. Richiesta

    Il browser richiede una pagina protetta. Cloudflare Bot Management valuta la richiesta in base all'impronta digitale TLS, alla reputazione IP e ai segnali comportamentali.

  2. 2. Punteggio bot

    I motori euristici, rilevamenti JS e apprendimento automatico producono il punteggio Bot da 1 a 99 e le regole WAF decidono se servire una sfida.

  3. 3. Pagina interstiziale

    Se la richiesta sembra sospetta, Cloudflare restituisce la pagina "Solo un momento..." con codice di stato 403 ed esegue JS Challenge, Managed Challenge o Interactive Challenge.

  4. 4. cf_clearance

    Quando il controllo passa, Cloudflare emette un cookie cf_clearance legato al visitatore e al dispositivo e valido per un tempo limitato.

  5. 5. Accesso

    Il browser carica la pagina originale con il cookie. Cloudflare continua a rivalutare il comportamento della sessione (Precursor clearance) e potrebbe rappresentare una nuova sfida.

Cos'è il cookie cf_clearance?

cf_clearance è il cookie Cloudflare emesso dopo che un visitatore supera un Cloudflare Challenge. Il browser lo invia con le seguenti richieste al sito protetto e la pagina si apre senza ripetute richieste.

Proprietà del cookie, secondo la documentazione di Cloudflare:

Visitatore e dispositivo

Legato al visitatore e al dispositivo a cui è stato rilasciato.

A vita

Valido per un tempo limitato (30 minuti per impostazione predefinita; il sito lo imposta con Passaggio sfida): uno script di lunga esecuzione deve superare nuovamente il controllo una volta scaduto.

Verifica dell'accesso

Di per sé non è una garanzia: Precursor clearance continua a rivalutare il comportamento della sessione e può attivare una sfida ripetuta anche se il cookie non è scaduto.

Cosa invalida un cookie cf_clearance

Vincolante

Modifica del visitatore o del dispositivo

L'accesso viene reimpostato: il cookie è legato al visitatore e al dispositivo a cui è stato rilasciato

A vita

Scadenza

Il cookie smette di funzionare; lo script deve superare nuovamente il controllo

Comportamento

Precursor clearance

Cloudflare può abbassare o ripristinare il livello di autorizzazione e svolgere un test ripetuto se il traffico sembra sospetto

Token o cf_clearance: quale risultato richiedere

Per gli sviluppatori che utilizzano CapMonster Cloud per ottenere uno token o cf_clearance

Il parametro cloudflareTaskType di TurnstileTask decide cosa restituisce CapMonster Cloud. Scegli l'opzione a seconda di ciò che richiede il sito di destinazione: un token per la sfida callback sulla pagina, oppure un cookie cf_clearance per le tue ulteriori richieste.

Gettone e cf_clearance

ParametroGettonecf_clearance
cloudflareTaskTypetokencf_clearance
ProcuraOpzionaleviene eseguito sui proxy CapMonster Cloud per impostazione predefinitaObbligatorioil proprio proxy
websiteKeyChiave Cloudflare Challenge, ad es. 0x4AAAAAAABUYP0XeMJF0xoyQualsiasi stringa, ad es. xxxxxx
Dati della paginapageAction, data (cData), pageData (chlPageData)htmlPageBase64 — Base64 della pagina 403 “Solo un attimo”
Risultatosolution.tokensolution.cf_clearance
Dove usarloLa sfida callback nella paginaIntestazione Cookie: cf_clearance=<value> o contesto del browser

Tipi di proxy supportati (cf_clearance)

proxyTypeDescrizione
httpProxy HTTP normale
httpsUtilizzare per alcuni proxy personalizzati
socks4Proxy SOCKS4
socks5Proxy SOCKS5

Riferimento completo ai parametri: Documentazione attività Cloudflare Challenge.

Come utilizzare il risolutore Cloudflare Challenge

Lo CapMonster Cloud API funge da risolutore cf_clearance: accetta i parametri dell'attività, li elabora sui suoi server e restituisce un cookie token o cf_clearance. La risoluzione di un Cloudflare Challenge richiede quattro passaggi: ottenere una chiave API, inviare l'attività, eseguire il polling del risultato e utilizzare lo token restituito o il cookie nelle proprie richieste.

La tua sceneggiaturaCapMonster Cloud APISito di destinazione

Ottieni la tua chiave API

  • Crea un account in CapMonster Cloud.
  • Apri il dashboard e trova la tua chiave API.
  • Utilizza questa chiave come parametro clientKey nelle tue richieste.

Invia un'attività: createTask

Chiama createTask con il tipo TurnstileTask. Il parametro cloudflareTaskType decide cosa riceverai in cambio: un token o un cf_clearance cookie. Scegli l'opzione in base a ciò che richiede il sito di destinazione. Vedere Come distinguere Challenge da Turnstile.

Opzione 1 · Challenge (token): viene eseguito sui proxy CapMonster Cloud per impostazione predefinita. Campi obbligatori:

ParametroDescrizione
tipoTurnstileTask
websiteURLURL della pagina in cui è stata risolta la sfida
websiteKeyChiave Cloudflare Challenge, ad es. 0x4AAAAAAABUYP0XeMJF0xoy
cloudflareTaskTypetoken
pageActionIl campo action dal captcha callback, solitamente managed o non-interactive
userAgentUA corrente supportato da CapMonster Cloud. È possibile ottenere il valore più recente su https://capmonster.cloud/api/useragent/actual.
datiValore del parametro cData
pageDataValore del parametro chlPageData

Facoltativo: apiJsUrl e i campi proxy. I propri proxy sono necessari solo quando il sito non accetta token o i servizi integrati sono limitati; con autorizzazione IP, whitelist 65.21.190.34.

Richiedi esempio:

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"
  }
}

Opzione 2 · Challenge (cookie): richiede il tuo proxy. Campi obbligatori:

ParametroDescrizione
tipoTurnstileTask
websiteURLURL della pagina in cui è stata risolta la sfida
websiteKeyÈ possibile passare qualsiasi stringa, ad es. xxxxxx
cloudflareTaskTypecf_clearance
htmlPageBase64Base64 della pagina “Solo un momento” restituito con lo stato 403
userAgentUA corrente supportato da CapMonster Cloud. È possibile ottenere il valore più recente su https://capmonster.cloud/api/useragent/actual.
proxyTypehttp, https (per alcuni proxy personalizzati), socks4, socks5
proxyAddress, proxyPort, proxyLogin, proxyPasswordLa tua delega. Non sono consentiti proxy trasparenti e del computer locale.

Richiedi esempio:

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"
  }
}

Endpoint e risposta: gli stessi per entrambe le opzioni:

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

Sondaggio sul risultato: getTaskResult

Interrogare getTaskResult con taskId finché status diventa ready. La richiesta è identica per entrambe le opzioni; l'oggetto solution porta qualunque risultato tu abbia richiesto.

Endpoint e richiesta:

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

Opzione 1 · Sfida (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"
  }
}

Utilizzare token quando si richiama la funzione callback sulla pagina.

Opzione 2 · Challenge (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 speciale Cloudflare che aggiungi al tuo browser o invii con richieste HTTP non elaborate.

Utilizza il token o il cookie restituito

Se utilizzi il cookie, passa il suo valore nell'intestazione Cookie: cf_clearance=<value> sulle richieste HTTP non elaborate o impostalo nel contesto del browser prima di richiedere nuovamente l'URL protetto.

Se utilizzi lo token, passalo alla sfida callback nella pagina.

Come trovare i parametri Cloudflare Challenge

L'opzione token necessita dei valori che la pagina passa a turnstile.render all'avvio della verifica: sitekey (websiteKey), action (pageAction), cData (dati) e chlPageData (pageData). L'opzione cookie necessita dello HTML della pagina della sfida in htmlPageBase64; websiteKey può essere qualsiasi stringa.

Come trovare i parametri 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. Esegui questo JavaScript prima che vengano caricati gli altri script della pagina: sostituisce window.turnstile e stampa i parametri passati a render.

  2. Leggere action (pageAction), cData (dati) e chlPageData (pageData) dalla tabella nella console; sitekey (websiteKey) viene passato nello stesso oggetto. pageAction è solitamente managed o non-interactive.

  3. Per raccogliere i valori automaticamente, utilizzare un browser controllato da Playwright (normale o headless): avvolgere window.turnstile in uno Proxy e intercettare render. Esempi pronti in JavaScript, Python e C# sono nella documentazione.

  4. Alcuni valori cambiano a ogni rendering della pagina della sfida, quindi crea l'attività subito dopo averli raccolti.

javascript
fetch('https://example.com')
  .then(res => res.arrayBuffer())
  .then(buf => console.log(btoa(String.fromCharCode(...new Uint8Array(buf)))));
  1. Richiedere il sito protetto; restituisce la pagina "Solo un momento..." con codice di stato 403.

  2. Codifica quella pagina in Base64: questo è htmlPageBase64 (lo snippet mostra un modo; gli esempi di Playwright con page.content() sono nella documentazione).

  3. Passa qualsiasi stringa come websiteKey (ad esempio xxxxxx) e utilizza il tuo proxy.

  4. Crea l'attività subito dopo aver raccolto i valori.

Risolutore Cloudflare Challenge con SDK ufficiale

CapMonster Cloud fornisce librerie già pronte per lavorare comodamente in Python, JavaScript (Node.js) e C#.
Di seguito sono riportati esempi di codice che mostrano come creare un'attività di risoluzione di CAPTCHA con createTask e recuperare il risultato con getTaskResult utilizzando le nostre librerie client.
SDK ufficiali
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))
    # Esempio base senza proxy; CapMonster Cloud utilizza automaticamente i propri 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 può essere risolto solo utilizzando il proprio 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 }));
  // Esempio base senza proxy; CapMonster Cloud utilizza automaticamente i propri 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 può essere risolto solo utilizzando il proprio 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);
        // Esempio base senza proxy; CapMonster Cloud utilizza automaticamente i propri 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 può essere risolto solo utilizzando il proprio 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);
    }
}

Per flussi di lavoro low-code, utilizzare il CapMonster Cloud nodo n8n ufficiale.

Utilizzando il cookie cf_clearance nelle tue richieste

text
GET https://example.com/protected-page
User-Agent: <userAgent from the task>
Cookie: cf_clearance=<value>
stessa procurastesso User-Agentcookie non scaduto

Passa il valore restituito nell'intestazione Cookie: cf_clearance=<value> sulle richieste HTTP non elaborate o impostalo nel contesto del browser prima di richiedere nuovamente l'URL protetto. Negli esempi ufficiali, lo stesso proxy e lo stesso User-Agent vengono utilizzati per caricare la pagina, risolvere l'attività e inviare la richiesta con il cookie.

In Selenium, Playwright o Puppeteer, imposta il cookie con il metodo proprio del framework prima di accedere all'URL protetto: il browser quindi apre la pagina senza ripetuti tentativi. Se hai richiesto uno token, passalo invece alla sfida callback sulla pagina.

Background

Errori Cloudflare Challenge e come risolverli

La maggior parte degli errori Cloudflare Challenge provengono da un cookie cf_clearance scaduto o non corrispondente, da un proxy che il servizio non accetta o da parametri di pagina obsoleti. Ogni scheda seguente indica l'errore e la correzione.
Bug Icon

Sfida ripetuta o 403 dopo averla risolta

La richiesta non ha un cookie cf_clearance valido, il cookie è scaduto o Cloudflare ha ricontrollato la sessione (Precursor clearance). Richiedi un nuovo cookie.
Bug Icon

Proxy o User-Agent differiscono dall'attività

Utilizza lo stesso proxy e lo stesso userAgent dell'attività quando richiedi la pagina protetta, come negli esempi ufficiali. Cloudflare rileva inoltre che un Managed Challenge risolto da un IP diverso da quello a cui è stato rilasciato non è valido e può causare un ciclo di verifica: consultare la documentazione Cloudflare.
Bug Icon

Biscotto scaduto

Il cookie è valido per un tempo limitato. Uno script di lunga esecuzione deve risolvere nuovamente la sfida una volta scaduto.
Bug Icon

Delega non accettata

Utilizzare http, https, socks4 o socks5.
Bug Icon

Parametri della pagina obsoleti

Alcuni valori cambiano ad ogni rendering della pagina della sfida. Estraili immediatamente prima di creare l'attività.

Domande frequenti su Cloudflare Challenge

Cos'è uno Cloudflare Challenge?

Cloudflare Challenge è un controllo intermedio che Cloudflare visualizza prima di concedere l'accesso a una pagina protetta quando una regola WAF, Bot Management o una limitazione di velocità ritiene la richiesta sospetta (ad esempio, in base all'impronta digitale TLS, alla reputazione IP o ai segnali comportamentali). Mentre il controllo è in corso, il visitatore vede una pagina intermedia "Solo un momento...". Se il controllo viene superato con successo, Cloudflare emette un cookie cf_clearance (è legato al visitatore e al dispositivo ed è valido per un tempo limitato), dopodiché il browser ottiene l'accesso alla pagina originale.

Qual è la differenza tra JS Challenge, Managed Challenge e Tornello?

Tutti e tre si basano sui segnali lato client provenienti dal browser. JS Challenge (non interattivo) viene eseguito in background, in genere in meno di cinque secondi; se non viene superato, Cloudflare mostra un'altra pagina di sfida. Managed Challenge consente a Cloudflare di scegliere il controllo in modo dinamico dalle caratteristiche della richiesta e dai segnali del browser, fino a un passaggio interattivo. Turnstile è un widget incorporabile che restituisce un token da validare tramite Siteverify API; con la pre-autorizzazione opzionale può emettere anche un cookie cf_clearance.

Perché continuo a ricevere il messaggio Cloudflare CAPTCHA, una pagina di verifica o un errore 403?

Una richiesta ripetuta o un 403 significa che la richiesta non ha un cookie cf_clearance valido, il cookie è scaduto o la richiesta proviene da un visitatore o dispositivo diverso da quello a cui è stato emesso il cookie. Anche un cookie valido non garantisce l'accesso: Cloudflare mantiene Precursor clearance: una rivalutazione continua del comportamento della sessione che può abbassare o ripristinare il livello di autorizzazione e innescare una sfida ripetuta se il modello di traffico inizia a sembrare sospetto.

In che modo CapMonster Cloud risolve un Cloudflare Challenge?

CapMonster Cloud risolve l'attività in modo asincrono tramite due chiamate API: createTask con i parametri dell'attività, seguita dal polling di getTaskResult finché la soluzione non è pronta. A seconda del tipo di attività, il servizio restituisce un token, che viene inserito nello callback senza proxy, o un cookie cf_clearance, per il quale un proxy è obbligatorio. Quindi passi il valore risultante nell'intestazione Cookie: cf_clearance=<value> delle normali richieste HTTP o lo imposti nel contesto del browser, dopodiché la pagina protetta si apre senza superare manualmente il controllo.

Come posso risolvere Cloudflare Challenge nel mio progetto?

Invia una richiesta POST a createTask con il tuo clientKey (chiave API) e i parametri dell'attività, attendi che il risultato sia pronto eseguendo il polling di getTaskResult (fino a quando lo stato è ready), quindi utilizza lo token risultante o il cookie nel tuo client HTTP o nell'automazione del browser. Per integrazioni già pronte, utilizza gli SDK ufficiali nei repository CapMonster Cloud su GitHub: racchiudono il ciclo createTask / getTaskResult in un'unica chiamata.

Ho bisogno di un proxy per risolvere le sfide Cloudflare?

Un proxy è obbligatorio solo per l'attività che restituisce un cookie cf_clearance. Negli esempi ufficiali lo stesso proxy viene poi utilizzato per le richieste successive. Per un risultato token non è richiesto alcun proxy: CapMonster Cloud utilizza i proxy integrati per impostazione predefinita (se si inserisce nella whitelist l'IP, aggiungere 65.21.190.34). Tipi supportati: http, https, socks4, socks5; non sono consentiti proxy trasparenti e proxy su macchine locali.

Posso utilizzare CapMonster Cloud come risolutore Cloudflare Challenge con n8n o Selenium?

Sì. Per n8n, esiste un nodo CapMonster Cloud ufficiale, installato dall'interfaccia o tramite npm install @zennolab_com/n8n-nodes-capmonstercloud su istanze self-hosted. In altri casi, il codice effettua prima una normale richiesta HTTP a CapMonster API (tramite richieste, axios o qualsiasi altro client HTTP), quindi il risultato viene passato al framework del browser (Selenium, Playwright, Puppeteer, ecc.) utilizzando il proprio metodo. Il cookie cf_clearance deve essere impostato con questo metodo prima di navigare verso l'URL protetto, quindi il browser aprirà la pagina con un controllo già valido, senza dover ripetere la verifica.

È legale risolvere automaticamente le sfide Cloudflare?

Risolvere Cloudflare Challenge è un'operazione tecnica e la sua liceità dipende da come viene utilizzato l'accesso che ne deriva, non dallo strumento stesso. CapMonster Cloud è destinato all'automazione legale (test, monitoraggio e raccolta di dati disponibili al pubblico), mentre la responsabilità del rispetto della legge e dei Termini di utilizzo della risorsa di destinazione spetta all'utente.

CapMonster Cloud

Non garantiamo una percentuale di successo del 100%: i tipi CAPTCHA e la configurazione del sito di destinazione possono cambiare in qualsiasi momento. La velocità effettiva di risoluzione e la percentuale di successo variano a seconda del sito di destinazione, del carico del server e delle condizioni della rete.

Cloudflare è un marchio di Cloudflare, Inc. CapMonster Cloud non è affiliato o approvato da Cloudflare. Il Servizio è destinato ai dati disponibili al pubblico, al test dei siti Web propri o autorizzati, al riconoscimento delle immagini e all'accessibilità. È vietato raccogliere dati di terze parti dietro un login o un paywall senza autorizzazione; i tuoi account non sono interessati. Determina lo stato legale dei tuoi dati prima di iniziare il lavoro.