# Page de vérification Cloudflare

> Passez la page de vérification « Just a moment... » de Cloudflare avec YesCaptcha et récupérez cf_clearance et les autres cookies, le User-Agent et le contenu de la page : paramètres de CloudFlareTaskS2 et CloudFlareTaskS3, exigences sur le proxy, résultat, utilisation du résultat et erreurs courantes.

Source: https://docs.yescaptcha.com/fr/tasks/cloudflare-challenge/ · Last verified: 2026-10-19

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/tasks/cloudflare-challenge/

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.

- POST `https://api.yescaptcha.com/createTask` (Endpoint mondial)
- POST `https://cn.yescaptcha.com/createTask` (Endpoint Chine)

## Cas d’utilisation

-   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](https://docs.yescaptcha.com/fr/tasks/turnstile.md) : 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.

## Types et prix

| Type de tâche | Prix | Mode | Remarques |
| --- | --- | --- | --- |
| `CloudFlareTaskS2` | $3.75 / 1k; 25 points/tâche · ¥25 / 1k | Asynchrone | Proxy fourni |
| `CloudFlareTaskS3` | $3.00 / 1k; 20 points/tâche · ¥20 / 1k | Asynchrone | Proxy fourni |

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

## Paramètres de la requête

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `type` | string | Oui | Type de tâche ; voir « Types de tâches et prix » sur cette page |
| `websiteURL` | string | Oui | URL 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 |
| `proxy` | string | Oui | Proxy sous forme d'une seule chaîne : `http://user:pass@proxy.example.com: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 |
| `userAgent` | string | Non | En 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 |
| `waitLoad` | boolean | Non | Par 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 |
| `requiredCookies` | array | Non | Noms 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` |
| `blockImage` | boolean | Non | Si 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 |
| `postData` | object | Non | S'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 |

### Exigences sur le proxy

`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:pass@proxy.example.com: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:pass@proxy.example.com: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` |

> **Vérifié à la création de la tâche:** Si l’URL ou le proxy n’est pas valide, `createTask` renvoie directement l’erreur, sans débit de points. Si un même proxy échoue plusieurs fois à se connecter sur une courte période, la création de tâches avec ce proxy renvoie aussi `ERROR_PROXY_BANNED` pendant un certain temps ; changez de proxy ou réessayez plus tard.

### User-Agent

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.

## Exemple de requête

POST https://api.yescaptcha.com/createTask

```json
{
  "clientKey": "YOUR_CLIENT_KEY",
  "task": {
    "type": "CloudFlareTaskS3",
    "websiteURL": "https://example.com/",
    "proxy": "http://user:pass@proxy.example.com: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](https://docs.yescaptcha.com/fr/api/get-task-result.md).

## Résultat

```json
{
  "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.

| Champ | Type | Description |
| --- | --- | --- |
| `cookies` | object | Tous 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_agent` | string | Le 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_headers` | object | En-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 |
| `headers` | object | En-têtes de réponse de la page cible après la réussite de la vérification |
| `content` | string | Code source HTML de la page cible après la réussite de la vérification |

## Utiliser le résultat

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.

## Erreurs courantes

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](https://docs.yescaptcha.com/fr/api/errors.md).

## Voir aussi

-   [Identifier le type de captcha](https://docs.yescaptcha.com/fr/guides/identify-captcha.md) : différence entre la page de vérification Cloudflare et Turnstile
-   [Cloudflare Turnstile](https://docs.yescaptcha.com/fr/tasks/turnstile.md)
