Scarnox · Blog

Comment contourner un captcha pour l'automatisation et les tests légitimes

Contourner un captcha de manière légitime signifie faire passer votre travail automatisé au-delà d'un défi sans enfreindre les règles du site ni attaquer ses utilisateurs. Concrètement, cela couvre quatre cas : automatiser un flux de travail qui vous appartient, tester votre propre site, construire des outils accessibles et collecter des données publiques à un rythme responsable. La voie honnête la plus rapide consiste généralement à éviter de déclencher le captcha. Lorsque vous ne pouvez pas l'éviter, une API de solveur comme Scarnox peut renvoyer le token attendu par la page.

Ce guide présente les approches dans l'ordre où vous devez les essayer, et indique les limites à ne pas franchir.

Commencez par comprendre pourquoi le captcha est apparu

Les captchas sont un signal. Le site a jugé qu'une requête paraissait automatisée ou risquée. Avant de tenter de franchir le défi, identifiez la cause :

Corriger la cause supprime souvent le captcha complètement, ce qui vaut mieux que de le résoudre à chaque requête.

Essayez les approches qui évitent le défi

  1. Utilisez une API officielle si elle existe. Beaucoup de sites publient leurs données via une API avec ses propres clés et ses propres limites. Cette voie est plus rapide, plus stable et clairement autorisée.
  2. Ralentissez et répartissez les requêtes. Ajoutez des délais entre les requêtes, limitez la concurrence et faites marche arrière dès que vous recevez un avertissement. Un rythme régulier de quelques requêtes par minute ne ressemble pas du tout à une rafale de centaines de requêtes pour un site.
  3. Gardez les sessions. Réutilisez les cookies et un profil de navigateur cohérent pendant toute une session, plutôt que de repartir de zéro à chaque page. Le guide sur le fingerprinting du navigateur explique pourquoi c'est important.
  4. Consultez le robots.txt et les conditions d'utilisation avant de commencer, et non après un blocage. Respectez ce que le site demande.

Utilisez des clés de test et des environnements de test

Si le captcha bloque votre environnement de staging, ne dirigez pas vos tests vers la production pour le contourner. La plupart des fournisseurs de captcha, dont Google et Cloudflare, publient des clés de test pour le développement. Ces clés produisent un token valide sans défi réel, et ce sont les bons outils pour les tests automatisés. Vous pouvez aussi demander à votre équipe de désactiver le captcha sur le serveur de staging. Le guide sur les captchas dans les tests automatisés détaille cette configuration.

Résolvez le captcha via une API lorsqu'il se trouve devant un travail légitime

Certains captchas apparaîtront malgré un bon rythme sur un travail légitime. Un job de supervision qui vérifie le portail de votre fournisseur en est un exemple. Dans ce cas, une API de solveur est l'outil approprié.

Scarnox est une API de résolution de captchas. Aujourd'hui, le seul type de tâche disponible est PopularCaptcha, sans proxy. Votre code envoie la sitekey et l'URL de la page, et reçoit un token à soumettre avec le formulaire :

import requests

r = requests.post(
    "https://api.scarnox.com/api/tasks/create",
    headers={"Authorization": "Bearer scarnox_YOURAPIKEY"},
    json={
        "captcha_type": "PopularCaptchaTaskProxyless",
        "site_key": "10000000-ffff-ffff-ffff-000000000001",
        "site_url": "https://example.com/login",
    },
    timeout=185,
)
data = r.json()
token = data["solution"]["token"] if data.get("errorId") == 0 else None

Le token expire au bout d'environ deux minutes, soumettez-le donc immédiatement. Le guide Python pour résoudre un captcha contient l'exemple complet. Les autres types de captcha, dont reCAPTCHA, Cloudflare Turnstile et Arkose, sont bientôt disponibles. Tant qu'ils ne sont pas lancés, ne supposez pas qu'un solveur les gère.

L'accessibilité est aussi une raison légitime

Les captchas sont une barrière pour les personnes qui utilisent un lecteur d'écran, changent d'appareil ou ont une déficience cognitive ou visuelle. Si vous construisez des outils d'accessibilité, ou si vous agissez pour des utilisateurs qui ne peuvent pas accomplir un défi, la première étape est de demander au propriétaire du site une alternative accessible. Beaucoup de sites en proposent une. Automatiser un captcha ne remplace pas cette discussion.

Ce qui n'est pas légitime

Certains usages de la résolution de captchas sont hors cadre, quelle que soit la raison invoquée. N'utilisez pas de solveurs ni de contournement pour :

Ces usages nuisent à de vraies personnes, enfreignent les conditions des sites et vous exposent à de sérieux risques juridiques. Scarnox ne les prend pas en charge, et ce guide ne les couvre pas.

Scrapez de manière responsable

Si votre contournement sert à collecter des données publiques, gardez ces points à l'esprit :

En résumé

Évitez d'abord le captcha en corrigeant la cause. Utilisez des clés de test pour vos tests. Utilisez une API de résolution pour les travaux légitimes qui rencontrent encore un défi, dans les types de tâches disponibles. Restez en dehors des usages listés plus haut, et scrapez à un rythme que le site peut supporter.

Étapes suivantes