Périmètre sûr : Ce guide s'applique exclusivement à vos propres applications, environnements de QA, de préproduction ou de production, ou à des systèmes pour lesquels vous disposez d'une autorisation écrite. Il ne décrit ni l'automatisation de sites tiers, ni le contournement de protections, ni l'évasion d'anti-bot.
Vous automatisez en V (vlang) et un CAPTCHA bloque l'un de vos flux ? La marche à suivre tient en trois gestes : créer la tâche chez CaptchaAI, interroger le résultat, puis appliquer le token dans la session qui a déclenché le défi. V est un langage jeune, mais son client net.http suffit : la logique se transpose sans effort, et l'exemple Node.js plus bas sert de contrat de référence pour votre CI.
Le flux en deux temps : créer puis interroger
- Créez la tâche en décrivant le défi : type de CAPTCHA,
sitekeyet URL de la page. L'API, asynchrone, vous renvoie un identifiant. - Interrogez le résultat avec cet identifiant : premier appel après une quinzaine de secondes, puis toutes les cinq secondes, avec un plafond ferme par tâche.
- Appliquez le token dans la session d'origine, puis faites-le valider par votre backend.
Préparer un environnement isolé
- L'environnement de QA est séparé de la production, et vos endpoints internes acceptent le trafic de test.
- La clé CaptchaAI vit dans un coffre ou un secret CI, jamais dans le code source.
- Côté données, ne conservez que la
sitekeyet l'URL de la page (obligations RGPD).
Encapsuler l'appel dans une fonction réutilisable
Isolez l'appel à CaptchaAI dans une fonction unique, paramétrée par la sitekey et l'URL de votre application, qui renvoie un token et trace durée et code retour. Quand le type de CAPTCHA change, vous n'ajustez qu'un endroit : CaptchaAI expose une API unique pour reCAPTCHA v2 et v3, Cloudflare Turnstile et Challenge, GeeTest v3 et les CAPTCHA image/OCR.
Exemple : appeler l'API depuis Node.js
L'exemple ci-dessous crée une tâche Turnstile et renvoie son identifiant. La même requête se réécrit à l'identique en V, en Python ou dans tout langage doté d'un client HTTP.
import fetch from 'node-fetch';
const API_KEY = process.env.CAPTCHAAI_KEY;
export async function createTurnstileTask(siteKey, pageUrl) {
const res = await fetch('https://api.captchaai.com/createTask', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
clientKey: API_KEY,
task: {
type: 'TurnstileTaskProxyless',
websiteURL: pageUrl,
websiteKey: siteKey,
},
}),
});
const data = await res.json();
return data.taskId;
}
Interrogez ensuite le point de résultat jusqu'à obtenir le token, puis appliquez-le dans la session qui a déclenché le défi : même contexte de navigateur, même client HTTP, même cookie jar. Un token appliqué ailleurs est la première cause de rejet ; votre backend doit le vérifier avant d'accepter la requête.
Journaliser et déployer au plus près
Instrumentez chaque appel — durée d'obtention du token, code retour HTTP, identifiant de tâche — et séparez les journaux par environnement pour rejouer un incident depuis un seul identifiant (OpenTelemetry). Si vos workers tournent en continu, hébergez-les près de votre trafic (OVHcloud, Scaleway, région AWS eu-west-3 à Paris) pour réduire la latence. La facturation se fait par thread et en dollars US : le plan BASIC ($15/mois, 5 threads) suffit pour valider l'intégration, chaque thread acceptant un nombre illimité de résolutions dans le mois.
FAQ
Faut-il un SDK officiel pour utiliser CaptchaAI en V ?
Non. CaptchaAI expose une simple API HTTP/JSON : le client net.http de V suffit pour créer une tâche puis interroger son résultat. Tout langage sachant émettre un POST et lire du JSON convient.
Combien de temps faut-il prévoir pour obtenir un token ?
Prévoyez un premier appel après une quinzaine de secondes, puis toutes les cinq secondes. Plafonnez chaque tâche pour libérer le thread si besoin.
CaptchaAI prend-il en charge hCaptcha ?
Non, pas encore pris en charge, pas plus que FunCaptcha. CaptchaAI résout reCAPTCHA v2 et v3, Cloudflare Turnstile et Challenge, GeeTest v3 et les CAPTCHA image/OCR.
Dépannage
| Symptôme | Cause probable | Correctif |
|---|---|---|
ERROR_WRONG_USER_KEY |
Espace parasite ou mauvais compte. | Recopiez la clé et stockez-la en secret CI. |
ERROR_ZERO_BALANCE |
Solde insuffisant. | Rechargez le solde et ajoutez une alerte de seuil. |
ERROR_BAD_PARAMETERS |
sitekey ou URL manquante ou mal formée. |
Revalidez les paramètres contre le HTML réel. |
| Token refusé après résolution | Token appliqué dans une autre session. | Gardez résolution et soumission dans la même session. |
| Interrogation sans fin | Aucun plafond par tâche. | Fixez un plafond (2 minutes) et libérez le thread. |
Liste de contrôle avant la mise en production
- Périmètre limité à vos propres applications ou à des sources autorisées.
- Clé CaptchaAI en secret CI ou coffre, jamais en clair.
- Durée d'appel et code retour tracés à chaque exécution.
- Retry idempotent avec backoff exponentiel borné sur les erreurs transitoires.
- Tests rejouables depuis votre CI, sans intervention manuelle.
Guides connexes
- Démarrage rapide CaptchaAI
- Tester vos CAPTCHA en environnement autorisé
- Tester l'endpoint API sur vos formulaires
- Intégrer la résolution CAPTCHA à votre CI
- Résoudre reCAPTCHA v2 via l'API
Construisez des workflows CAPTCHA fiables et reproductibles, sans mauvaises surprises. – Obtenez votre clé CaptchaAI.