Processo di richiesta
Per utilizzare l’API di riconoscimento del protocollo Cloudflare Turnstile, prima di tutto vai al Ace Data Cloud Console per ottenere il tuo API Token, da conservare per uso futuro.
Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere; una volta completato, verrai riportato automaticamente alla pagina corrente.
Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, senza necessità di richiederne uno per ogni servizio. La prima richiesta riceverà un credito gratuito, per un’esperienza senza costi; se il credito è insufficiente, puoi ricaricare il saldo generale nella console.
📘 Documentazione completa: Cloudflare Turnstile Protocol Recognition API →
Utilizzo di base
Iniziamo a comprendere il modo di utilizzo di base, che consiste nell’inserire l’URL del sito web che deve elaborare il captcha Turnstile, per ottenere il risultato elaborato. È necessario prima passare un campowebsite_url, il nostro sito di esempio è: https://react-turnstile.vercel.app, dobbiamo ottenere il website_key dalla pagina website_url, aprendo questa pagina, premendo F12 per accedere alla console e cercando globalmente cf-turnstile nella pagina Element, dove possiamo trovare l’elemento contenitore che ospita il Turnstile, il cui valore della stringa corrispondente a data-sitekey è il valore di website_key.
Le intestazioni della richiesta impostate includono:
accept: il formato di risposta desiderato, qui impostato suapplication/json, ovvero formato JSON.authorization: la chiave per chiamare l’API, che può essere selezionata direttamente dopo la richiesta.
website_url: l’URL del sito web che deve elaborare il captcha.website_key: l’identificatore della chiave del sito nel Cloudflare Turnstile (sitekey).action: parametro opzionale, da passare solo se il sito target ha impostato unactionpersonalizzato per il componente Turnstile.cdata: parametro opzionale, da passare solo se il sito target ha impostato uncDatapersonalizzato per il componente Turnstile.
token, il risultato della verifica dopo l’elaborazione del captcha Cloudflare Turnstile.started_at,finished_at: il tempo di inizio e di completamento della richiesta, timestamp Unix (secondi, float).elapsed: il tempo totale impiegato per l’elaborazione (secondi).
cf-turnstile-response al sito target, il codice Python per chiamare la verifica del token è il seguente:
Modalità asincrona (async)
Per impostazione predefinita, l’API è bloccante e sincrona: una richiesta attenderà fino al completamento dell’elaborazione del token prima di restituire una risposta. Se stai effettuando un cambio di risolutori multipli (multi-solver rotation) e desideri “ricevere immediatamente il task_id dopo aver inviato il compito, per poi programmare altri risolutori e tornare in seguito a leggere il risultato”, puoi passareasync: true nel corpo della richiesta.
Passando async: true, l’interfaccia restituirà immediatamente un task_id, senza bloccare l’attesa:
task_id per interrogare POST /captcha/tasks (si consiglia ogni 3~5 secondi). Questa interfaccia non attiverà o accelererà l’elaborazione del compito; anche se non interroghi, perdi la connessione o esci dal client, il server continuerà a elaborare:
status: processing; al termine dell’elaborazione verrà restituito status: ready e il token:
timeout, senza costi. /captcha/tasks non è responsabile dell’avanzamento del compito.
Nota: Cloudflare Turnstile non supporta attualmente l’uso di proxy (Bring Your Own Proxy), quindi questa interfaccia non accetta il parametroproxy; se fornito, restituirà400 invalid_proxy.
Gestione degli errori
Quando chiami l’API, se si verifica un errore, l’API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:400 token_mismatched:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.400 invalid_proxy:Richiesta non valida, il proxy non è supportato per questo tipo di captcha.401 invalid_token:Non autorizzato, token di autorizzazione non valido o mancante.429 too_many_requests:Troppe richieste, hai superato il limite di frequenza.500 api_error:Errore interno del server, qualcosa è andato storto sul server.

