Aller au contenu
ÉtatTableau de bord

Types de tâches

Cloudflare Turnstile

Cette page a été traduite automatiquement à partir de la version chinoise et peut contenir des erreurs. La version chinoise fait foi.

IllustrationTurnstile est intégré à un formulaire. La plupart du temps, il se vérifie tout seul et affiche une coche ; la page ne change pas.

Une tâche Cloudflare Turnstile renvoie un token (token) à soumettre au site cible pour passer la vérification. TurnstileTaskProxyless coûte 25 points (≈ $3.75 / 1k) par tâche et fonctionne en mode asynchrone : appelez createTask, puis getTaskResult toutes les 5 secondes. Les tâches en échec ou expirées donnent lieu à un remboursement de points automatique.

POSThttps://api.yescaptcha.com/createTaskEndpoint mondial
POSThttps://cn.yescaptcha.com/createTaskEndpoint Chine

Le corps de la requête est du JSON, authentifié avec votre clientKey. Interrogez le résultat sur le même endpoint que celui où vous avez créé la tâche.

Un widget de vérification Cloudflare (« Confirmez que vous êtes humain ») est intégré dans un formulaire de la page, et la page charge un script depuis challenges.cloudflare.com/turnstile.

Si toute la page est bloquée par Cloudflare et affiche « Veuillez patienter… » ou « Vérification de votre navigateur en cours », il s’agit de la page de vérification Cloudflare, pas de Turnstile : utilisez Page de vérification Cloudflare. La différence est expliquée dans Identifier le type de captcha.

Type de tâchePrixModeRemarques
TurnstileTaskProxyless$3.75 / 1k; 25 points/tâche · ¥25 / 1kAsynchrone
TurnstileTaskProxylessM1$4.50 / 1k; 30 points/tâche · ¥30 / 1kAsynchrone
TurnstileTask$3.75 / 1k; 25 points/tâche · ¥25 / 1kAsynchroneProxy fourni

Les prix en dollars américains sont des estimations avec 1 USD ≈ ¥6.67 ; les tâches sont facturées en points.

  • TurnstileTaskProxyless et TurnstileTaskProxylessM1 ont les mêmes paramètres mais passent par des routes différentes ; l’un peut servir de secours à l’autre.
  • TurnstileTask charge le captcha via votre propre proxy et nécessite les champs de proxy.
ChampTypeObligatoireDescription
typestringOuiType de tâche ; voir « Types de tâches et prix » sur cette page
websiteURLstringOuiURL complète de la page qui affiche le captcha. Indiquez le site sur lequel vous voyez le captcha, pas le domaine du fournisseur du captcha
websiteKeystringOuiLa clé du site Turnstile (sitekey), commençant généralement par 0x
pageActionstringNonL'action que la page transmet à Turnstile (une option de turnstile.render, ou data-action sur l'élément du widget), par exemple login. Inutile dans la plupart des cas ; ajoutez-la uniquement si les tâches échouent systématiquement
datastringNonLe cData que la page transmet à Turnstile (une option de turnstile.render, ou data-cdata sur l'élément du widget), par exemple c0bd4b36-7419-4e18-83c6-378699f2a9a2. Inutile dans la plupart des cas ; ajoutez-le uniquement si les tâches échouent systématiquement
proxyTypestringCertains typesProtocole du proxy : http, https, socks4 ou socks5 (Obligatoire pour TurnstileTask)
proxyAddressstringCertains typesAdresse IP ou nom d'hôte du proxy. Les adresses locales ou privées telles que 127.0.0.1 ou 192.168.x.x ne fonctionneront pas, car nos serveurs ne peuvent pas y accéder (Obligatoire pour TurnstileTask)
proxyPortintegerCertains typesPort du proxy (Obligatoire pour TurnstileTask)
proxyLoginstringNonNom d'utilisateur du proxy, si le proxy exige une authentification (TurnstileTask uniquement)
proxyPasswordstringNonMot de passe du proxy, si le proxy exige une authentification (TurnstileTask uniquement)
userAgentstringNonUser-Agent du navigateur. Si le résultat contient un userAgent, utilisez cette valeur lorsque vous soumettez le token (TurnstileTask uniquement)

websiteKey commence généralement par 0x. Pour la trouver, consultez Trouver les paramètres Turnstile.

Si les tâches échouent toujours : pageAction et data

Section intitulée « Si les tâches échouent toujours : pageAction et data »

Dans la plupart des cas, websiteURL et websiteKey suffisent, et ces deux paramètres ne sont pas nécessaires. Si vous êtes certain que websiteURL et websiteKey sont corrects et que la tâche échoue quand même, vérifiez si la page transmet action et cData à Turnstile (options de turnstile.render, ou data-action et data-cdata sur l’élément du widget). Si c’est le cas, transmettez-les tels quels :

  • pageAction : l’action de la page, par exemple login
  • data : le cData de la page, par exemple c0bd4b36-7419-4e18-83c6-378699f2a9a2
POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY",
"pageAction": "login",
"data": "c0bd4b36-7419-4e18-83c6-378699f2a9a2"
}
}
POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY"
}
}
curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY"
}
}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'

Remplacez websiteURL et websiteKey par les valeurs du site cible.

{
"errorId": 0,
"status": "ready",
"solution": {
"token": "0.ufq5RgSVZd11DPSX1brdrxnEs28KcVlKj2ORchqxSy2q9yAW6ciq3hriXDF4x...",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"
}
}
ChampTypeDescription
tokenstringLe token à soumettre au site cible. Usage unique ; soumettez-le dès que possible
userAgentstringLe User-Agent utilisé pour obtenir le token. Utilisez cette valeur lorsque vous soumettez le token, même si elle diffère de celle que vous avez envoyée

Placez le token dans le champ cf-turnstile-response de la page (ou dans le champ attendu par l’API du site cible) et soumettez-le, en utilisant le userAgent renvoyé comme User-Agent de la requête.

Tant que la tâche est en cours, la réponse est {"errorId": 0, "status": "processing"} ; interrogez à nouveau 5 secondes plus tard. En cas d’erreur, traitez-la selon errorCode : voir Codes d’erreur.

Il est à usage unique. Soumettez-le dès que possible ; un token Turnstile expire généralement au bout de quelques minutes (c’est Cloudflare qui décide).

Vérifiez que websiteURL est bien la page qui affiche le widget, que websiteKey est correct, et soumettez avec le userAgent renvoyé. Si la page transmet action et cData, ajoutez-les en tant que pageAction et data : voir Si les tâches échouent toujours. Si le site vérifie aussi l’IP, utilisez TurnstileTask et soumettez via le même proxy.