Aller au contenu
ÉtatTableau de bord

Types de tâches

Page de vérification Cloudflare

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

IllustrationLa page de vérification Cloudflare remplace toute la page (« Un instant… »). En général, la vérification se termine seule et le navigateur passe à la vraie page.

La page de vérification Cloudflare (le « 5 secondes ») est une page d’attente qui bloque tout le site et affiche « Just a moment… » ou « Checking your browser ». YesCaptcha ouvre la page via le proxy que vous fournissez, passe la vérification et renvoie les cookies (comme cf_clearance), le User-Agent utilisé, les en-têtes de requête et de réponse, ainsi que le HTML de la page une fois la vérification passée. CloudFlareTaskS2 coûte 25 points (≈ $3.75 / 1k) par tâche et CloudFlareTaskS3 coûte 20 points (≈ $3.00 / 1k) par tâche ; les deux types ont les mêmes paramètres, le même résultat et la même efficacité, seul le prix diffère. Les tâches sont asynchrones et prennent généralement de 6 à 35 secondes, avec de grandes différences selon les sites. Les tâches échouées ou expirées donnent lieu à un remboursement de points automatique.

POSThttps://api.yescaptcha.com/createTaskEndpoint mondial
POSThttps://cn.yescaptcha.com/createTaskEndpoint Chine
  • Le code source de la page contient __cf_chl_rt_tk ou cdn-cgi/challenge-platform, et le titre est Just a moment... : c’est la page de vérification Cloudflare. Les pages qui demandent de cocher « Confirmez que vous êtes un humain » relèvent aussi de cette page.
  • Si seul un widget Cloudflare est intégré dans un formulaire, il s’agit de Turnstile : cette page ne s’applique pas.
  • Si une requête avec une bibliothèque comme requests renvoie un 403 avec « Just a moment… » alors qu’un navigateur ouvre la page normalement, c’est probablement l’empreinte TLS qui est bloquée. Une bibliothèque qui imite l’empreinte TLS d’un navigateur (comme curl_cffi) suffit alors, sans résoudre de vérification.
Type de tâchePrixModeRemarques
CloudFlareTaskS2$3.75 / 1k; 25 points/tâche · ¥25 / 1kAsynchroneProxy fourni
CloudFlareTaskS3$3.00 / 1k; 20 points/tâche · ¥20 / 1kAsynchroneProxy fourni

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

ChampTypeObligatoireDescription
typestringOuiType de tâche ; voir « Types de tâches et prix » sur cette page
websiteURLstringOuiURL complète de la page protégée par la vérification. Doit être une URL publique commençant par http:// ou https:// ; les adresses IP privées et les noms d'hôte locaux ou internes tels que localhost sont refusés
proxystringOuiProxy sous forme d'une seule chaîne : http://user:[email protected]:8080 (proxy HTTP, identifiants facultatifs) ou socks5://proxy.example.com:1080 (sans identifiants). Les proxys https:// et SOCKS5 avec identifiants ne sont pas pris en charge, et les adresses locales ou privées sont refusées. Toutes les requêtes vers la page cible passent par ce proxy
userAgentstringNonEn général, ne l'indiquez pas. Seul un User-Agent de Chrome pour ordinateur sous Linux est pris en compte ; tout le reste (Windows, macOS, mobile, autres navigateurs) est ignoré. Utilisez toujours user_agent du résultat pour les requêtes suivantes
waitLoadbooleanNonPar défaut, false. Si true, après la réussite de la vérification, la tâche attend que l'activité réseau de la page se calme avant de renvoyer le résultat, de sorte que content contient davantage de contenu chargé dynamiquement ; cela prend quelques secondes de plus
requiredCookiesarrayNonNoms des cookies à obtenir obligatoirement, sous forme de tableau de chaînes, par exemple ["cf_clearance"]. S'il est renseigné, la tâche ne réussit que si tous les cookies sont obtenus ; sinon elle renvoie ERROR_CAPTCHA_UNSOLVABLE et les points sont remboursés. S'il est omis, la tâche essaie quand même d'obtenir cf_clearance, mais réussit (avec débit de points) même si elle n'obtient que d'autres cookies ; indiquez-le donc explicitement si vous avez besoin de cf_clearance
blockImagebooleanNonSi true, les images de la page cible ne sont pas chargées (sauf celles dont la vérification Cloudflare elle-même a besoin), ce qui économise du trafic proxy
postDataobjectNonS'il est renseigné, il est envoyé à websiteURL comme un formulaire HTML classique en POST (application/x-www-form-urlencoded) : chaque clé est un champ du formulaire et les valeurs sont envoyées sous forme de chaînes, par exemple {"name": "hi"}. Doit être un objet

proxy est obligatoire, et toutes les requêtes vers la page cible passent par ce proxy. cf_clearance est lié à l’IP de sortie : utilisez donc le même proxy pour accéder ensuite au site cible.

Format Pris en charge
http://user:[email protected]:8080 Oui : proxy HTTP avec identifiants
http://proxy.example.com:8080 Oui : proxy HTTP sans identifiants
socks5://proxy.example.com:1080 Oui : proxy SOCKS5 sans identifiants ; socks5h:// est traité comme socks5://
socks5://user:[email protected]:1080 Non, renvoie ERROR_PROXY_INCORRECT ; si vous avez besoin d’identifiants, utilisez un proxy HTTP
https://proxy.example.com:443 ou tout autre protocole, ou port manquant Non, renvoie ERROR_PROXY_INCORRECT
Adresses locales, de réseau interne ou réservées comme 127.0.0.1, 192.168.x.x, 10.x.x.x, ou un nom de domaine qui résout vers l’une d’elles Refusé, renvoie ERROR_PROXY_BANNED

En général, ne transmettez pas userAgent. La vérification est passée avec Chrome de bureau sous Linux : seul un User-Agent de Chrome de bureau sous Linux est utilisé, tous les autres (Windows, macOS, mobile ou autres navigateurs) sont ignorés, car lors de nos tests la vérification de Cloudflare échoue quand le User-Agent ne correspond pas à l’environnement réel du navigateur. Pour les requêtes suivantes, utilisez toujours le user_agent du résultat.

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "CloudFlareTaskS3",
"websiteURL": "https://example.com/",
"proxy": "http://user:[email protected]:8080",
"requiredCookies": ["cf_clearance"]
}
}
  • Pour utiliser CloudFlareTaskS2, changez uniquement type.
  • Avec requiredCookies défini à ["cf_clearance"], la tâche échoue et les points sont remboursés si cf_clearance n’est pas obtenu. Sans ce paramètre, une tâche qui obtient d’autres cookies mais pas cf_clearance est considérée comme réussie et débitée.
  • Pour soumettre un formulaire, ajoutez postData, par exemple {"name": "hi"} ; il est envoyé à websiteURL sous forme de formulaire POST.

Après la création, appelez getTaskResult toutes les 5 secondes ; le déroulement est le même que pour les autres tâches asynchrones, voir getTaskResult.

{
"errorId": 0,
"status": "ready",
"solution": {
"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
"cookies": {
"cf_clearance": "Wq3vXk9...-1760860800-1.2.1.1-..."
},
"request_headers": {
"accept-language": "en-US,en;q=0.9",
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"
},
"headers": {
"content-type": "text/html; charset=UTF-8",
"server": "cloudflare"
},
"content": "<!DOCTYPE html>..."
}
}

La valeur du cookie et les en-têtes ci-dessus sont donnés à titre d’illustration ; utilisez ce que renvoie l’API.

ChampTypeDescription
cookiesobjectTous les cookies du navigateur après la réussite de la vérification (objet nom-valeur), incluant généralement cf_clearance ; si vous avez défini requiredCookies, chacun d'eux est inclus. Utilisez-les avec le user_agent renvoyé et le proxy que vous avez fourni
user_agentstringLe User-Agent que le navigateur a réellement utilisé pour réussir la vérification (Chrome de bureau sous Linux). cf_clearance y est lié ; utilisez-le donc pour toutes les requêtes suivantes
request_headersobjectEn-têtes de requête envoyés par le navigateur lors de sa dernière requête vers la page cible ; réutilisez-les dans les requêtes suivantes
headersobjectEn-têtes de réponse de la page cible après la réussite de la vérification
contentstringCode source HTML de la page cible après la réussite de la vérification
  1. Pour les requêtes suivantes, utilisez à la fois les cookies renvoyés, le user_agent renvoyé et le même proxy que celui de la tâche. cf_clearance est lié au User-Agent et à l’IP de sortie : si l’un des trois change, la page de vérification réapparaît.
  2. Envoyez si possible les en-têtes de request_headers, et utilisez une empreinte TLS cohérente avec celle d’un navigateur (par exemple l’option impersonate de curl_cffi).
  3. cf_clearance a une durée de validité (définie par le site cible, jusqu’à 1 heure sur certains sites) ; pendant cette durée, il n’est pas nécessaire de repasser la vérification. Une fréquence de requêtes trop élevée peut faire bloquer l’IP par Cloudflare.
  4. Si vous n’avez besoin que du contenu de la page, utilisez directement content au lieu de refaire une requête.

Les erreurs renvoyées à la création de la tâche ne donnent lieu à aucun débit de points ; les tâches qui échouent ou expirent après leur création sont remboursées automatiquement. L’API ne renvoie que le code d’erreur et une description générale : utilisez le tableau ci-dessous pour trouver la cause.

Code d’erreur Quand Que faire
ERROR_REQUIRED_FIELDS À la création de la tâche : websiteURL ou proxy manquant Ajoutez les deux champs obligatoires
ERROR_ILLEGAL_PARAMETERS À la création de la tâche : websiteURL n’est pas une URL publique commençant par http:// ou https://, postData n’est pas un objet, ou requiredCookies n’est pas un tableau de chaînes. À la consultation du résultat : le nom de domaine cible n’a pas pu être résolu via le proxy Corrigez les paramètres ; vérifiez l’orthographe de l’URL et que le proxy peut accéder au site
ERROR_PROXY_INCORRECT À la création de la tâche : format de proxy incorrect, port manquant, proxy https:// ou SOCKS5 avec identifiants Utilisez l’un des formats de la section « Exigences sur le proxy » ; si vous avez besoin d’identifiants, utilisez un proxy HTTP
ERROR_PROXY_BANNED À la création de la tâche : le proxy est une adresse locale, de réseau interne ou réservée, ou il a échoué à se connecter plusieurs fois sur une courte période. À la consultation du résultat : le Cloudflare du site cible a directement bloqué l’IP de ce proxy (pages « Sorry, you have been blocked », « Access denied ») Changez de proxy ; plus la qualité de l’IP est bonne, plus la vérification passe facilement
ERROR_PROXY_CONNECT_REFUSED Connexion au proxy impossible (connexion refusée, nom de domaine du proxy non résolu), ou connexion refusée ou réinitialisée à l’ouverture de la page via le proxy Vérifiez l’adresse et le port du proxy, assurez-vous qu’il est en ligne et accepte les connexions externes ; si l’erreur persiste, changez de proxy
ERROR_PROXY_CONNECT_TIMEOUT Délai dépassé lors de la connexion au proxy ou de l’ouverture de la page via le proxy Utilisez un proxy plus rapide et plus stable
ERROR_PROXY_NOT_AUTHORISED Identifiant ou mot de passe du proxy incorrect Vérifiez les identifiants dans proxy ; encodez les caractères spéciaux en URL
ERROR_PROXY_TLS_ERROR Échec de la négociation TLS à l’ouverture de la page via le proxy Vérifiez que l’adresse, le port et le protocole du proxy sont corrects ; si l’erreur persiste, changez de proxy
ERROR_CAPTCHA_UNSOLVABLE La vérification n’a pas été passée dans le délai, la page est restée sur la vérification après son passage, ou un cookie demandé dans requiredCookies n’a pas été obtenu Réessayez d’abord avec un autre proxy ; pour certains sites, contactez le support
ERROR_NO_SLOT_AVAILABLE À la création de la tâche : la file d’attente est pleine. À la consultation du résultat : la tâche a attendu trop longtemps sans démarrer, les points ont été remboursés Attendez quelques secondes puis recréez la tâche
ERROR_TASK_TIMEOUT La tâche n’a pas été terminée dans le délai imparti Recréez la tâche ; des délais dépassés répétés indiquent en général un proxy trop lent

Pour tous les codes d’erreur, voir Codes d’erreur.