Résolution de Problèmes

Baisse du taux de résolution CAPTCHA : diagnostic de régression des performances

Votre taux de résolution de CAPTCHA est passé de 95 % à 60 % du jour au lendemain. Avant de contacter l'assistance, ce guide présente un diagnostic structuré pour identifier la cause première, qu'il s'agisse de votre code, de votre proxy, du site cible ou du service CaptchaAI.

Arbre de décision de diagnostic

Solve rate dropped
├── Is the API returning errors? → Check error codes
│   ├── ERROR_WRONG_USER_KEY → API key issue
│   ├── ERROR_ZERO_BALANCE → Balance depleted
│   ├── ERROR_NO_SLOT_AVAILABLE → Rate limiting
│   └── ERROR_CAPTCHA_UNSOLVABLE → CAPTCHA changed
├── Are tokens returned but rejected by the target site?
│   ├── Token expired before submission → Speed up injection
│   ├── Sitekey changed → Re-extract from page
│   └── Domain mismatch → Check pageurl parameter
├── Are proxies failing?
│   ├── Proxy banned by target → Rotate proxies
│   └── Proxy timeout → Check proxy health
└── Did the target site change?
    ├── New CAPTCHA type → Update method parameter
    ├── JavaScript changes → Re-analyze page
    └── Rate limiting by site → Reduce frequency

Étape 1 : Vérifiez les codes d’erreur CaptchaAI

Exécutez un script de diagnostic rapide :

# diagnose_solve_rate.py
import os
import requests
from collections import Counter

API_KEY = os.environ.get("CAPTCHAAI_KEY", "YOUR_API_KEY")

def check_balance():
    """Verify API key and balance."""
    resp = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY, "action": "getbalance", "json": "1",
    })
    result = resp.json()
    print(f"Balance: {result}")
    return result

def test_solve(sitekey, pageurl, runs=5):
    """Run test solves and collect error statistics."""
    errors = Counter()
    successes = 0

    for i in range(runs):
        # Submit
        resp = requests.get("https://ocr.captchaai.com/in.php", params={
            "key": API_KEY,
            "method": "userrecaptcha",
            "googlekey": sitekey,
            "pageurl": pageurl,
            "json": "1",
        })
        result = resp.json()

        if result.get("status") != 1:
            errors[result.get("request", "UNKNOWN")] += 1
            print(f"  Run {i+1}: Submit error: {result.get('request')}")
            continue

        task_id = result["request"]
        import time
        time.sleep(15)

        # Poll
        for _ in range(25):
            poll = requests.get("https://ocr.captchaai.com/res.php", params={
                "key": API_KEY, "action": "get",
                "id": task_id, "json": "1",
            })
            poll_result = poll.json()

            if poll_result.get("status") == 1:
                successes += 1
                print(f"  Run {i+1}: Solved")
                break
            if poll_result.get("request") != "CAPCHA_NOT_READY":
                errors[poll_result.get("request", "UNKNOWN")] += 1
                print(f"  Run {i+1}: Error: {poll_result.get('request')}")
                break
            time.sleep(5)
        else:
            errors["TIMEOUT"] += 1
            print(f"  Run {i+1}: Timeout")

    print(f"\nResults: {successes}/{runs} solved")
    if errors:
        print(f"Errors: {dict(errors)}")

# Run diagnostics
print("=== Balance Check ===")
check_balance()

print("\n=== Test Solves ===")
test_solve("YOUR_SITEKEY", "https://your-target-site.com", runs=5)

Étape 2 : Vérifier les paramètres du site cible

La cause la plus courante de baisse du taux de résolution est une modification de la clé de site ou de la structure des pages.

Vérifiez si la clé du site a changé

Visitez la page cible, ouvrez DevTools (F12) et recherchez :

  • reCAPTCHA : appel data-sitekey ou grecaptcha.render
  • Cloudflare Turnstile : data-sitekey dans le widget Tourniquet
  • GeeTest : paramètre gt dans l'initialisation du GeeTest

Comparez avec la clé de site dans votre code. Un seul personnage modifié provoque un échec à 100 %.

Vérifiez si le type CAPTCHA a changé

Certains sites migrent entre fournisseurs CAPTCHA :

  • reCAPTCHA v2 → reCAPTCHA v3 (invisible)
  • reCAPTCHA → Cloudflare Turnstile
  • Image CAPTCHA → reCAPTCHA Entreprise

Si le type a changé, mettez à jour votre paramètre method en conséquence.

Étape 3 : Évaluer l’état du proxy

La qualité du proxy affecte directement les taux de résolution, en particulier pour les CAPTCHA basés sur des jetons où CaptchaAI utilise votre proxy.

Problème de proxy Symptôme Corriger
Proxy banni par la cible Jeton résolu mais rejeté Passez à de nouveaux proxys résidentiels
Erreurs renvoyées par le proxy ERROR_PROXY_NOT_FOUND Vérifier que le proxy est actif et accessible
Proxy du centre de données détecté Taux de résolution inférieurs Passer aux proxys résidentiels
Inadéquation géographique du proxy Des résultats incohérents Faire correspondre le pays proxy au site cible

Testez d'abord sans proxy (si le type CAPTCHA prend en charge la résolution sans proxy) pour déterminer si le proxy est le problème.

Étape 4 : Vérifiez la synchronisation des jetons

Les jetons CAPTCHA ont une validité limitée :

Type de CAPTCHA Durée de vie du jeton
reCAPTCHA v2 ~120 secondes
reCAPTCHA v3 ~120 secondes
Cloudflare Turnstile ~300 secondes
GeeTest v3 ~60 secondes

Si votre pipeline met trop de temps entre la réception du token et son injection dans le formulaire, le token expire et le site le rejette.

Correction : Mesurez le temps entre getTaskResult et l'envoi du formulaire. Si > 60 secondes, optimisez votre pipeline.

Étape 5 : Analyser la distribution des erreurs

Triez vos erreurs par fréquence pour trouver la cause première :

Erreur Signification Action
ERROR_CAPTCHA_UNSOLVABLE CAPTCHA trop complexe ou modifié Faites votre rapport à CaptchaAI ; vérifiez si la clé du site est correcte
ERROR_WRONG_CAPTCHA_ID Interrogation d'un mauvais ID de tâche Corrigez le suivi de l'ID de tâche dans votre code
ERROR_ZERO_BALANCE Plus de crédits Recharger le solde
ERROR_NO_SLOT_AVAILABLE Tarif limité Réduire la simultanéité ou ajouter du retard
CAPCHA_NOT_READY (délai d'expiration) La résolution prend trop de temps Augmenter le délai d'attente du sondage ; vérifier si la clé du site est valide

Étape 6 : Comparer avec la ligne de base

Si vous avez déjà effectué des tests de performance, comparez les métriques actuelles à votre référence :

Métrique Référence Actuel Delta Un souci ?
Taux de résolution 95% ? > 5 % de baisse = enquêter
Temps de résolution médian 15s ? > 50 % d'augmentation = enquêter
Taux d'erreur 2% ? > 5% = enquêter
Taux d'acceptation des jetons 98% ? > 3% de baisse = site modifié

Quand contacter l'assistance

Contactez l'assistance CaptchaAI si :

  • Toutes les étapes de diagnostic réussissent mais le taux de résolution reste faible
  • Le taux ERROR_CAPTCHA_UNSOLVABLE dépasse 20 % sur les clés de site qui fonctionnaient auparavant
  • La balance s'avère correcte mais la résolution échoue toujours
  • Le problème persiste pendant plus de 2 heures

Incluez dans votre rapport :

  1. Type CAPTCHA et clé de site
  2. URL du site cible
  3. Distribution des erreurs (à partir du script de diagnostic)
  4. Quand le problème a commencé
  5. Toutes les modifications que vous avez apportées à votre code

Référence rapide de dépannage

Scénario Cause la plus probable Première action
100 % d'échecs, tous ERROR_WRONG_USER_KEY Clé API invalide Revérifier la clé API
Déclin progressif au fil des jours Dégradation du proxy Rotation des proxys
Chute soudaine à 0 % Clé de site ou page modifiée Réextraire les paramètres CAPTCHA
Résolu mais jetons rejetés par le site Expiration du jeton ou incompatibilité de domaine Vérifiez le timing et pageurl
Fonctionne sur le site de test, échoue sur la cible Restrictions spécifiques au site Comparer les paramètres entre les sites

FAQ

Le taux de résolution de CaptchaAI peut-il changer pour un site spécifique ?

Oui. Si un site met à niveau sa configuration CAPTCHA (par exemple, défis plus difficiles, fonctionnalités d'entreprise), les taux de résolution peuvent diminuer temporairement jusqu'à ce que les solveurs de CaptchaAI s'adaptent.

Dois-je signaler chaque ERROR_CAPTCHA_UNSOLVABLE ?

Non. Un taux d’insoluble de 2 à 5 % est normal pour les CAPTCHA complexes. Déclarez uniquement si le taux dépasse systématiquement 15 à 20 %.

À quelle vitesse dois-je m’attendre à ce que les taux de résolution se rétablissent ?

Si le problème vient du côté de CaptchaAI, la récupération se produit généralement en quelques heures. Si le site cible a changé, vous devrez peut-être mettre à jour vos paramètres d'intégration.

Articles connexes

Prochaines étapes

Gardez votre pipeline CAPTCHA sain –récupérez votre clé API CaptchaAI.

Guides associés :

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