Cloudflare Turnstile
widget- Où tu le vois
- Un widget dans une page ou un formulaire
- Ce qu'il retourne
- Un jeton en
cf-turnstile-response - Page CapMonster
- Cette page : Cloudflare Turnstile Solveur
Dernière mise à jour:
| CAPTCHA | Prix (USD) |
|---|---|
$ 1.30 1000 jetons |
Un widget Cloudflare Challenge et un widget Turnstile peuvent se ressembler. Un défi n'est pas toujours une page distincte « Juste un instant… » : il peut être stylisé, intégré au site ou conçu pour ressembler à un widget Turnstile classique, de sorte que vous ne pouvez pas les distinguer par leur apparence.
cf-turnstile-responsechallenge-form avec __cf_chl_f_tk=cf_clearanceLe tableau indique le prix, le temps de résolution et le taux de réussite de la résolution pour quatre services de résolution Cloudflare Turnstile.
| Paramètre | CapMonster Cloud | 2Captcha | Anti-Captcha | DeathByCaptcha |
|---|---|---|---|---|
Prix pour 1000 solutions (à partir de) | $ 1.30 | — | — | — |
Il est temps de résoudre | 6.24 s* | 16,9 s | 20,33 s | ~13 s |
Taux de réussite en résolution | 99%* | 96% | 96% | 96% |
2Captcha, Anti-Captcha et DeathByCaptcha sont des marques commerciales de leurs propriétaires respectifs. CapMonster Cloud n'est pas affilié à ces entités. Les mesures de performance et les comparaisons de prix sont basées sur des données accessibles au public et des analyses comparatives internes à compter du 02.10.2026.
Testez dès maintenant la stabilité sur vos propres sites cibles. Nous ne garantissons pas un taux de réussite de 100 % : les types de CAPTCHA et la configuration du site cible peuvent changer à tout moment.
$0.10
Les nouveaux utilisateurs reçoivent un solde de test de 0,10 $ pour essayer CapMonster Cloud.
1. Inscrivez-vous au CapMonster Cloud.
2. Envoyez un message d'assistance via live chat ou support@capmonster.cloud avec l'e-mail lié à votre compte.
Exécutez les flux d'inscription, de paiement et de formulaire dans CI/CD avec Playwright, Puppeteer ou Selenium sur les pages que vous possédez ou que vous êtes autorisé à tester.
Vérifiez que les formulaires et les points de terminaison protégés continuent de fonctionner après les versions et les modifications des widgets.
Collectez des données accessibles au public à partir de pages ouvertes qui utilisent Cloudflare Turnstile.
Prend en charge les flux de travail d'assistance automatisés sur les sites qui s'appuient sur les vérifications de robots invisible.
Laissez un agent demander un jeton via MCP lorsqu'un workflow atteint un captcha.
Utilisez CapMonster Cloud pour les données accessibles au public et sur les sites que vous possédez ou que vous êtes autorisé à tester. La collecte de données tierces derrière un identifiant ou un paywall sans autorisation est interdite.
Cloudflare Turnstile vérifie les visiteurs via des signaux de navigateur côté client et une évaluation des risques au lieu de puzzles d'images. Il est livré en trois modes de widget : Managed (recommandé), Non-Interactive et Invisible. CapMonster Cloud les gère tous automatiquement — vous ne spécifiez jamais le mode dans la tâche.
Sources : Cloudflare documentation — Types de widgets · Commencer · Turnstile dans Cloudflare défis
Turnstile choisit automatiquement entre une coche non-interactive et une case à cocher en fonction du niveau de risque du visiteur. Aucune image ni texte à déchiffrer.
Un widget visible avec une flèche de chargement. Le contrôle s'exécute sans aucune interaction du visiteur.
Le contrôle s'exécute entièrement en arrière-plan : aucun widget ni aucun indicateur de chargement ne sont affichés.
La page charge le code d'initialisation du widget ; Cloudflare renvoie le JS requis et le widget s'affiche.
En fonction du mode widget et des signaux de risque de Cloudflare, le widget décide d'afficher ou non un défi interactif.
Le côté client callback reçoit un jeton — à usage unique, valable 300 secondes. Si le widget se trouve à l'intérieur d'un <form>, le jeton est également ajouté automatiquement en tant que champ caché cf-turnstile-response.
La page envoie le jeton au backend avec les données du formulaire.
Votre serveur appelle le Siteverify API de Cloudflare pour confirmer le jeton.
Sources : Cloudflare documentation — Intégrer le widget · Valider le token
Un jeton Turnstile est la chaîne que le widget génère après avoir vérifié un visiteur. Le widget le stocke dans un champ de formulaire masqué nommé cf-turnstile-response et le transmet également au callback du widget. Le serveur du site envoie ensuite le token aux Siteverify API de Cloudflare pour le confirmer.
Propriétés du token, selon la documentation de Cloudflare :
Valable pendant 300 secondes (5 minutes) après la génération.
À usage unique : le valider une seconde fois renvoie l'erreur timeout-or-duplicate.
Jusqu'à 2 048 caractères.
Validé sur le serveur via le Siteverify API.
CapMonster Cloud accepte les paramètres captcha, les traite sur ses serveurs et renvoie un jeton prêt à l'emploi. Insérez ce jeton dans le formulaire pour réussir le contrôle sans interaction de l'utilisateur.
A ce stade, vous envoyez votre clé API, votre type de captcha et ses paramètres. Le service renvoie un taskId unique que vous pourrez utiliser plus tard pour obtenir le résultat.
Paramètres requis
| Paramètre | Descriptif |
|---|---|
| tapez | TurnstileTask |
| websiteURL | L'URL de la page où le captcha est résolu |
| websiteKey | Turnstile clé du site. Format : 0x4AAAAAAABUYP0XeMJF0xoy |
Paramètres facultatifs
| Paramètre | Descriptif |
|---|---|
| userAgent | Navigateur User-Agent. Recommandé : transmettez la valeur actuelle prise en charge par CapMonster Cloud. Vous pouvez obtenir la dernière valeur à https://capmonster.cloud/api/useragent/actual |
| pageAction | Le champ d'action trouvé dans la fonction callback lors du chargement du captcha |
| données | La valeur du champ de données, extraite du paramètre cData |
| proxyType | http — proxy HTTP/HTTPS standard ; https — essayez ceci si http ne fonctionne pas (obligatoire pour certains proxys personnalisés) ; socks4 — Proxy SOCKS4 ; socks5 — Proxy SOCKS5 |
| proxyAddress | Adresse IP du proxy (IPv4/IPv6). Les proxys transparents et les proxys sur les machines locales ne sont pas autorisés |
| proxyPort | Port proxy |
| proxyConnexion | Nom d'utilisateur du proxy |
| proxyMot de passe | Mot de passe proxy |
Le même type TurnstileTask est utilisé avec et sans proxy.
Point final :
https://api.capmonster.cloud/createTaskDemande :
{
"clientKey": "API_KEY",
"task": {
"type": "TurnstileTask",
"websiteURL": "https://yourwebsite.com/page-with-turnstile",
"websiteKey": "your-website-key"
}
}Réponse :
{
"errorId": 0,
"taskId": 407533072
}Après avoir créé la tâche, interrogez l'état de la solution.
Point final :
https://api.capmonster.cloud/getTaskResultDemande :
{
"clientKey": "API_KEY",
"taskId": 407533072
}Réponse :
{
"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"
}
}| Propriété | Tapez | Descriptif |
|---|---|---|
| jeton | Chaîne | Utilisez le jeton dans un champ de saisie ou lors de l'appel d'une fonction callback. |
Insérez le jeton renvoyé dans le champ cf-turnstile-response ou transmettez-le au callback du widget, puis soumettez le formulaire dans les cinq minutes : les jetons Cloudflare expirent après 300 secondes et ne peuvent être validés qu'une seule fois. Des exemples de code pour Playwright, Puppeteer et Selenium se trouvent dans la FAQ ci-dessous.
Pour créer une tâche Turnstile, vous avez besoin de deux valeurs de la page où le widget s'exécute : la clé du site (websiteKey) et, si la page le définit, le nom de l'action (pageAction).
<div class="cf-turnstile" data-sitekey="SITE_KEY"← websiteKey
data-action="ACTION"></div>← pageActionturnstile.render('#container', {
sitekey: 'SITE_KEY',← websiteKey
action: 'ACTION',← pageAction
callback: function (token) { /* ... */ }
});Ouvrez le site avec le captcha.
Cliquez avec le bouton droit sur l'élément captcha et choisissez Inspect.
Trouvez la clé du site. Dans l'onglet Elements il s'agit de l'attribut data-sitekey (websiteKey). Une clé de site Turnstile ressemble à 0x4AAAAAAABUYP0XeMJF0xoy.
Recherchez l'action : dans l'appel de rendu du widget (la fonction callback qui s'exécute lors du chargement du captcha) ou dans l'attribut data-action. La clé du site peut également être trouvée dans cette fonction callback. Si la page ne définit pas d'action, laissez le paramètre de côté.
Pour collecter automatiquement les valeurs, chargez la page dans un navigateur sans tête tel que Playwright et lisez-les à partir du widget rendu. Des exemples prêts dans JavaScript, Python et C# se trouvent dans la CapMonster Cloud documentation.
Certaines valeurs changent à chaque chargement de la page, alors résolvez la tâche juste après les avoir collectées.
createTask et récupérer le résultat avec getTaskResult à l'aide de nos bibliothèques clientes.Pour les workflows low-code, utilisez le nœud officiel CapMonster Cloud n8n node.
websiteURL et websiteKey du même rendu de la page.getTaskResult a renvoyé le statut ready et que vous avez pris solution.token avant de l'insérer.Les erreurs renvoyées par Cloudflare Siteverify (timeout-or-duplicate, invalid-input-secret et autres) concernent les propriétaires de sites — voir « Siteverify codes d'erreur » ci-dessous .
Si vous exécutez le site Web protégé par Turnstile : vérifiez les jetons et testez votre configuration
POST https://challenges.cloudflare.com/turnstile/v0/siteverify
secret=YOUR_SECRET_KEY
response=TOKENSi vous exécutez le site, votre serveur valide chaque jeton Turnstile en envoyant une requête POST à https://challenges.cloudflare.com/turnstile/v0/siteverify. Le point de terminaison accepte application/x-www-form-urlencoded et JSON et renvoie toujours JSON. Paramètres obligatoires : secret (la clé secrète de votre widget) et response (le token). Facultatif : remoteip et idempotency_key. Cochez success et, si vous les définissez, également action et hostname dans la réponse.
Un token est valable 300 secondes et ne peut être validé qu'une seule fois. Pour en savoir plus, consultez le guide de validation de Cloudflare.
Cloudflare fournit des clés de site factices et des clés secrètes afin que vous puissiez tester une implémentation Turnstile sans déclencher de réels défis. Les clés de site de test fonctionnent sur n'importe quel domaine, y compris localhost, et génèrent le jeton factice XXXX.DUMMY.TOKEN.XXXX. Les jetons factices ne sont acceptés que par les clés secrètes factices, et les clés secrètes de production les rejettent.
<div class="cf-turnstile"
data-sitekey="1x…AA">
</div>
cf-turnstile-response:
"XXXX.DUMMY.TOKEN.XXXX"Passe toujours
Échoue toujours
Passe toujours
Échoue toujours
Force un défi interactif
Passe toujours la validation
La validation échoue toujours
Renvoie l'erreur "jeton déjà dépensé" (timeout-or-duplicate)
Référence complète de Cloudflare : Turnstile testing.
Lorsque la validation échoue, le Siteverify API de Cloudflare renvoie un tableau error-codes. Le tableau ci-dessous répertorie chaque code et ce qu'il signifie.
{
"success": false,
"error-codes": [
"timeout-or-duplicate"
]
}Le paramètre secret n'a pas été fourni
La clé secrète est invalide ou expirée
Le paramètre de réponse (jeton) n'a pas été fourni
Le token est invalide, mal formé ou expiré
La demande est mal formée
Le token a déjà été validé ou a expiré
Une erreur interne s'est produite ; réessayez la demande
Siteverify peut renvoyer success: true et votre serveur doit toujours rejeter le jeton si hostname ou action ne correspondent pas à ce que vous attendez.
Réponses courtes sur la résolution de Cloudflare Turnstile avec CapMonster Cloud : modes, proxys, jetons, tests et erreurs Siteverify.
Cloudflare Turnstile est une alternative CAPTCHA à Cloudflare qui vérifie les visiteurs via les signaux du navigateur et l'évaluation des risques au lieu de puzzles d'images. Il dispose de trois modes de widgets. Managed (recommandé) : Cloudflare choisit entre une coche non-interactive et une case à cocher en fonction du risque du visiteur. Non-interactive : un widget visible avec une flèche de chargement qui ne nécessite jamais d'interaction. Invisible : aucun widget du tout. CapMonster Cloud gère les trois automatiquement, vous ne spécifiez donc pas le mode dans la tâche.
Non. TurnstileTask fonctionne sans proxy et les champs de proxy (proxyType, proxyAddress, proxyPort, proxyLogin, proxyPassword) sont facultatifs. Un proxy qui correspond à la géographie du site cible peut améliorer les résultats sur les pages géo-sensibles, il vaut donc la peine de tester les deux configurations. Les proxys transparents et les proxys sur les machines locales ne sont pas autorisés. Sans votre propre proxy, CapMonster Cloud résout la tâche grâce à ses proxys intégrés (adresse IP 65.21.190.34).
Ouvrez DevTools, recherchez l'élément avec l'attribut data-sitekey (et data-action, si la page définit une action) et copiez les valeurs ; une clé de site Turnstile ressemble à 0x4AAAAAAABUYP0XeMJF0xoy. Certaines valeurs changent à chaque chargement de la page, alors extrayez-les juste avant de créer la tâche. Les instructions étape par étape se trouvent dans la section ci-dessus.
cf-turnstile-response est le champ de formulaire masqué qui contient le jeton Turnstile. Le token est valable 300 secondes (5 minutes) et ne peut être validé qu'une seule fois ; après cela, Siteverify renvoie l'erreur timeout-or-duplicate. Soumettez immédiatement le jeton que vous avez reçu de CapMonster Cloud et demandez-en un nouveau pour chaque soumission.
Pour insérer un jeton Turnstile, recherchez le champ de réponse masqué (une entrée nommée cf-turnstile-response) et définissez-le sur le jeton récupéré de CapMonster Cloud. Voici comment procéder dans les trois frameworks d'automatisation.
Playwright / Puppeteer (Node.js) :
const token = "YOUR_TOKEN";
await page.evaluate((t) => {
document.querySelector('[name="cf-turnstile-response"]').value = t;
}, token);
await page.click('#submit-btn');Selenium (Python) :
token = "YOUR_TOKEN"
driver.execute_script("document.querySelector('[name=\"cf-turnstile-response\"]').value = arguments[0];", token)
driver.find_element("id", "submit-btn").click()Si le formulaire valide le jeton via une fonction callback (l'attribut data-callback du widget), appelez plutôt cette fonction avec le jeton.
Utilisez les touches factices de Cloudflare. Sur le client, définissez la clé du site sur 1x00000000000000000000AA (toujours réussi), 2x00000000000000000000AB (échoue toujours) ou 3x00000000000000000000FF (force un défi interactif) ; sur le serveur, utilisez une clé secrète factice telle que 1x0000000000000000000000000000000AA. Les clés de site factices fonctionnent sur n'importe quel domaine, y compris localhost, et produisent le jeton XXXX.DUMMY.TOKEN.XXXX, que seules les clés secrètes factices acceptent. La liste complète se trouve dans la section test ci-dessus.
Siteverify renvoie success: false lorsque le jeton a plus de 300 secondes, a déjà été validé ou que la clé secrète est erronée, et votre serveur peut également le rejeter si le hostname ou action renvoyé ne correspond pas à ce que vous attendez. Vérifiez le tableau error-codes dans la réponse et consultez le tableau des codes d'erreur Siteverify. Demandez un nouveau jeton pour chaque soumission et envoyez-le juste après l'avoir reçu.
* Nous ne garantissons pas un taux de réussite de 100 % : les types de CAPTCHA et la configuration du site cible peuvent changer à tout moment. CapMonster Cloud offre un taux de réussite élevé pour la résolution de Cloudflare Turnstile. Basé sur l'analyse comparative mensuelle interne de l'équipe CapMonster Cloud. La vitesse de résolution réelle et le taux de réussite varient en fonction du site cible, de la charge du serveur et des conditions du réseau.
Cloudflare et Turnstile sont des marques commerciales de Cloudflare, Inc. CapMonster Cloud n'est ni affilié ni approuvé par Cloudflare. Le Service est destiné aux données accessibles au public, au test de vos sites Web propres ou autorisés, à la reconnaissance d'images et à l'accessibilité. La collecte de données tierces derrière un identifiant ou un paywall sans autorisation est interdite ; vos propres comptes ne sont pas affectés. Vous déterminez le statut juridique de vos données avant de commencer à travailler.