CaptchaNo
[ INTÉGRATION ]

Solveur de captcha pour
cURL

Résolvez le défi pendant l'exécution au lieu de faire échouer la tâche. Un exemple Shell fonctionnel, et les trois points qui décident si votre token est accepté.

cURL · Shell
curl -X POST "https://api.captchano.com/v1/solve?wait=60" \
  -H "Authorization: Bearer cn-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "type": "recaptcha_v2",
        "sitekey": "6LcABC...",
        "url": "https://example.com/login",
        "proxy": "http://user:pass@host:port"
      }'

# 200 OK
# { "id": "slv_…", "status": "ready",
#   "solution": { "token": "03AGdBq25S…" },
#   "cost": "0.00598", "solveTime": 18.4 }

Ce qui décide si le token est accepté

  1. Transmettez votre proxy. Le token doit être généré derrière la même IP de sortie que celle qui le soumet. Pour les systèmes qui notent la session, c'est obligatoire, pas une simple optimisation.
  2. Utilisez le même user agent. Turnstile et plusieurs systèmes anti-bot lient le token à un user agent. Nous renvoyons celui utilisé pour que vous puissiez le reproduire exactement.
  3. Demandez-le au dernier moment. Les tokens expirent au bout d'environ 120 secondes. Demandez-en un quand vous êtes prêt à soumettre.

Appel bloquant ou polling

L'exemple utilise ?wait=60 : l'appel renvoie la résolution terminée et votre étape cURL reste linéaire. Si vous préférez ne pas garder une connexion ouverte, retirez le paramètre, conservez l'id renvoyé et interrogez GET /v1/task/{id} toutes les cinq secondes. Un token que vous avez payé reste récupérable pendant dix minutes : une connexion interrompue ne vous fait donc pas perdre la résolution.

Coût

$0.00598 par résolution réussie de reCAPTCHA v2, les résolutions échouées n'étant jamais facturées. Consultez les tarifs pour chaque type de défi, ou la référence de l'API pour le format complet des requêtes.

[ INTÉGRATION DANS LE FLUX ]

Comment la résolution s'intègre à cURL

L'API repose simplement sur HTTPS et JSON : cURL est donc le moyen le plus rapide de voir une résolution de bout en bout avant d'écrire la moindre ligne de code.

  1. 01
    Créer une clé

    Créez une clé API dans le tableau de bord. Elle commence par cn-.

  2. 02
    Envoyer une résolution

    Envoyez en POST un JSON contenant type, sitekey et url à /v1/solve?wait=60 avec un en-tête Authorization: Bearer.

  3. 03
    Lire la réponse

    status, solution.token, cost et solveTime sont renvoyés dans un seul objet JSON.

  4. 04
    Faire du polling si vous préférez

    Retirez ?wait et interrogez plutôt GET /v1/task/{id} toutes les quelques secondes.

Injecter le token dans la page

Vous copiez le token de la réponse JSON dans le champ du formulaire ou dans la requête que votre propre client envoie.

[ PIÈGES ]

Là où les intégrations échouent le plus souvent

Content-Type manquant

Envoyez Content-Type: application/json, sinon le corps ne sera pas analysé.

Guillemets dans le shell

Entourez le JSON de guillemets simples pour que le shell n'interprète rien à l'intérieur.

[ FAQ ]

FAQ captcha cURL

Ai-je besoin d'un SDK ?

Non. CaptchaNo est une API REST classique. N'importe quel client HTTP, dans n'importe quel langage, fonctionne, et cURL est le moyen le plus simple de l'essayer.

Comment consulter mon solde ?

Appelez GET /v1/balance avec le même en-tête Authorization. Le tableau de bord affiche aussi le solde, la consommation et chaque résolution.

Que renvoie une résolution échouée ?

Un status failed accompagné d'un code d'erreur. Les résolutions échouées ne sont pas facturées : vous pouvez donc réessayer sans risque.

Combien de temps puis-je attendre un résultat ?

Le paramètre wait bloque jusqu'à 120 secondes. La plupart des résolutions reviennent bien avant ; utilisez le polling si votre client ne peut pas garder une connexion ouverte aussi longtemps.

[ À LIRE ENSUITE ]

Guides utiles

Prêt à développer ?

Commencez par un essai gratuit de 3 jours, puis payez par résolution réussie à mesure que votre trafic augmente. Aucune carte requise pour l'essai.

Voir nos offres
Vous êtes un agent IA ? Voir les options de configuration →