Tutorials

Migrer de Buster vers l'extension CaptchaAI

Périmètre sûr : ce guide s'applique à vos propres applications, à vos environnements de QA 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.

Buster résout les défis audio de reCAPTCHA v2 dans le navigateur, ce qui suffit pour un usage manuel occasionnel. Mais dès que vos tests QA tournent sans surveillance, ses limites apparaissent : pas d'API, pas de journalisation, aucune garantie de disponibilité. L'extension CaptchaAI règle ces trois points, à condition de traiter le passage comme un workflow de navigateur reproductible.

Pourquoi quitter Buster pour l'extension CaptchaAI

Buster ne couvre qu'un cas — les défis audio de reCAPTCHA v2 — et dépend d'un service de reconnaissance vocale externe parfois indisponible, d'où des échecs intermittents en test quotidien. L'extension CaptchaAI repose sur une API unique : même flux, mais latence prévisible, codes retour exploitables et facturation qui suit la montée en charge sans la pénaliser.

Préparer un environnement de QA isolé

  1. Isolez le test de la production : base, endpoints et données de préproduction séparés du live.
  2. Stockez la clé CaptchaAI dans un coffre ou un secret CI, jamais en clair dans le dépôt.
  3. Dédiez un profil de navigateur à l'extension : cookies et session restent stables d'une exécution à l'autre, comme avec votre ancien profil Buster.

Encapsuler l'appel à l'API CaptchaAI

  1. Créez une fonction qui reçoit la sitekey et l'URL de votre propre page.
  2. Faites-lui soumettre la tâche à l'API et renvoyer un token.
  3. Tracez la durée et le code retour : vous obtenez un point d'entrée unique et testable, en remplacement du clic manuel de Buster.

Exemple : une fonction de résolution reCAPTCHA v2

Une fonction Python commentée qui soumet la tâche à l'API :

import os
import requests

API_KEY = os.environ['CAPTCHAAI_KEY']

def submit_recaptcha_v2(sitekey: str, page_url: str) -> str:
    payload = {
        'clientKey': API_KEY,
        'task': {
            'type': 'NoCaptchaTaskProxyless',
            'websiteURL': page_url,
            'websiteKey': sitekey,
        },
    }
    resp = requests.post('https://api.captchaai.com/createTask', json=payload, timeout=30)
    resp.raise_for_status()
    return resp.json()['taskId']

Vérifier le token côté backend

Le token renvoyé doit être vérifié par votre backend avant toute opération métier : aucune requête ne doit passer sur la foi d'un token périmé ou contrefait. Appliquez le token reCAPTCHA v2 (g-recaptcha-response) dans la même session que celle qui a déclenché le défi — même contexte de navigateur, même client HTTP, même jar de cookies. Une session dépareillée reste la première cause de rejet.

Observabilité et journalisation

Instrumentez chaque appel CAPTCHA pour alimenter tableaux de bord et alertes : durée d'obtention du token, code retour HTTP, identifiant de tâche et taille de la file d'attente. Séparez les journaux par environnement et reliez chaque identifiant à votre traçage distribué (OpenTelemetry, par exemple).

Si vous déployez vos workers sur une infrastructure européenne — OVHcloud, Scaleway ou la région AWS eu-west-3 à Paris — pensez au RGPD : minimisez les données personnelles écrites dans les logs.

Dépannage

Problème Cause probable Correctif
Token refusé après résolution Appliqué dans une autre session que le défi Rejouez résolution et envoi dans le même contexte de navigateur.
sitekey ou URL rejetée Paramètres capturés sur une autre page Revalidez la sitekey et l'URL sur le HTML servi.
Échecs intermittents Solde épuisé ou quota atteint Vérifiez le solde et les quotas dans le tableau de bord.
Latence en hausse en pointe File d'attente saturée Ajoutez des threads au plan ou lissez la charge.

Liste de contrôle avant la mise en production

Contrôle Attendu
Périmètre Vos applications ou des sources autorisées
Clé CaptchaAI Dans un secret CI ou un coffre
Profil de navigateur Dédié à l'extension et versionné
Traçabilité Durées d'appel et codes retour tracés
Erreurs transitoires Retry idempotent, backoff exponentiel borné
Reproductibilité Tests rejouables depuis la CI

FAQ

Buster et l'extension CaptchaAI résolvent-ils les mêmes CAPTCHA ?

Non. Buster se limite aux défis audio de reCAPTCHA v2. L'extension CaptchaAI prend en charge reCAPTCHA v2 et v3, Cloudflare Turnstile et Challenge, GeeTest v3, les CAPTCHA image et les grilles d'images. La même boucle de soumission et d'interrogation se transpose d'un type à l'autre.

Faut-il réécrire mes scripts Selenium pour passer de Buster à CaptchaAI ?

Non, la structure ne change pas. Vous remplacez le déclenchement manuel de Buster par l'appel à la fonction de résolution, puis vous injectez le token ; le reste de votre scénario Selenium ou Playwright reste identique.

Combien coûte l'extension CaptchaAI par rapport à Buster ?

Buster est gratuit et open source ; CaptchaAI est payant, facturé par thread. Le plan BASIC ($15/mois, 5 threads) inclut un nombre illimité de résolutions par thread, sans frais par CAPTCHA. Vous payez la capacité simultanée, pas le volume, d'où un coût prévisible à l'échelle.

Guides connexes

Migrez de Buster vers l'extension CaptchaAI et résolvez votre premier reCAPTCHA v2 en quelques minutes. – Créez votre clé CaptchaAI.

Les commentaires sont désactivés pour cet article.