Tutoriels

Utilisation de Fiddler pour inspecter le trafic de l'API CaptchaAI

Lorsque la résolution CAPTCHA échoue et que vos journaux ne montrent pas suffisamment de détails, l'interception du trafic HTTP réel révèle ce qui se passe. Fiddler capture chaque demande et réponse entre votre code et l'API CaptchaAI, vous permettant de voir les charges utiles, les en-têtes et le timing exacts.

Quand utiliser Fiddler pour le débogage

Scénario Ce que révèle Fiddler
L'API renvoie des erreurs mais vos journaux de code sont rares Corps complet de la demande, en-têtes et réponse
Les requêtes de résolution semblent bloquées Si les requêtes atteignent le serveur ou expirent
Le jeton semble invalide une fois injecté Contenu exact du jeton et éventuels problèmes d'encodage
Pannes liées au proxy Si les requêtes sont acheminées via le proxy attendu
Problèmes de limite de débit Calendrier des requêtes et 429 modèles de réponse

Configuration de Fiddler pour le trafic HTTPS

Étape 1 : Installer et configurer le décryptage HTTPS

Fiddler agit comme un proxy local qui intercepte le trafic HTTPS. Vous devez activer le déchiffrement HTTPS pour voir les charges utiles de l'API CaptchaAI :

Un violon partout :

  1. Ouvrez Paramètres – HTTPS
  2. Activer « Capturer le trafic HTTPS »
  3. Installez le certificat racine Fiddler lorsque vous y êtes invité
  4. Faites confiance au certificat dans le magasin de certificats de votre système d'exploitation

Fiddler Classique (Windows) :

  1. Outils → Options → HTTPS
  2. Cochez "Déchiffrer le trafic HTTPS"
  3. Cliquez sur "Actions" - "Certificat racine de confiance"

Étape 2 : configurez votre code pour utiliser le proxy de Fiddler

Fiddler écoute sur 127.0.0.1:8866 (Fiddler Everywhere) ou 127.0.0.1:8888 (Fiddler Classic).

Python (demandes) :

import requests

proxies = {
    "http": "http://127.0.0.1:8866",
    "https": "http://127.0.0.1:8866",
}

# Submit CAPTCHA task through Fiddler
response = requests.post(
    "https://ocr.captchaai.com/in.php",
    data={
        "key": "YOUR_API_KEY",
        "method": "userrecaptcha",
        "googlekey": "SITE_KEY",
        "pageurl": "https://example.com",
        "json": 1,
    },
    proxies=proxies,
    verify=False,  # Required for Fiddler's self-signed cert
)
print(response.json())

JavaScript (Node.js avec axios) :

const axios = require("axios");
const HttpsProxyAgent = require("https-proxy-agent");

const agent = new HttpsProxyAgent("http://127.0.0.1:8866");

async function submitTask() {
  const response = await axios.post(
    "https://ocr.captchaai.com/in.php",
    new URLSearchParams({
      key: "YOUR_API_KEY",
      method: "userrecaptcha",
      googlekey: "SITE_KEY",
      pageurl: "https://example.com",
      json: 1,
    }),
    {
      httpsAgent: agent,
      proxy: false, // Disable axios default proxy handling
    }
  );
  console.log(response.data);
}

submitTask();

Remarque : verify=False (Python) désactive la vérification SSL pour le certificat d'interception de Fiddler. Utilisez-le uniquement pendant le débogage – supprimez-le en production.

Filtrage du trafic CaptchaAI

Ajoutez des filtres pour voir uniquement les requêtes CaptchaAI dans une session occupée.

Filtres Fiddler partout

  1. Cliquez sur l'onglet Filtres
  2. Ajouter une règle : Hôte -> contains -> ocr.captchaai.com
  3. Appliquer le filtre

Filtres classiques Fiddler

  1. Cliquez sur l'onglet Filtres
  2. Cochez "Utiliser les filtres"
  3. Sous « Hôtes », sélectionnez « Afficher uniquement les hôtes suivants ».
  4. Entrez : ocr.captchaai.com

Désormais, seules les requêtes API CaptchaAI apparaissent dans la liste des sessions.

Demande d'inspection et réponse

Soumettre la demande (in.php)

Lorsque vous capturez une soumission de tâche, inspectez ces champs dans Fiddler :

Panneau Que vérifier
En-têtes Le type de contenu doit être application/x-www-form-urlencoded
Corps de la demande Vérifiez que key, method, googlekey/TOKEN3ZZ, pageurl sont corrects.
Corps de la réponse Devrait renvoyer {"status":1,"request":"TASK_ID"} en cas de succès
Code de réponse 200 = OK, 403 = problème clé, 429 = débit limité

Demande de sondage (res.php)

Lors de l'interrogation des résultats :

Panneau Que vérifier
Corps de la demande key, action=get, id=TASK_ID, json=1
Corps de la réponse CAPCHA_NOT_READY pendant le traitement, {"status":1,"request":"TOKEN"} en cas de succès
Calendrier Vérifiez les intervalles entre les sondages – devraient être de plus de 5 secondes

Problèmes courants visibles dans Fiddler

Ce que vous voyez Signification
Le corps de la requête est vide googlekey L'extraction de la clé de site a échoué en amont
Réponse : {"status":0,"request":"ERROR_WRONG_USER_KEY"} La clé API n'est pas valide
Réponse : {"status":0,"request":"ERROR_ZERO_BALANCE"} Le compte n'a pas de fonds
Réponse : {"status":0,"request":"ERROR_NO_SLOT_AVAILABLE"} Serveur occupé – réessayez
Aucune réponse (timeout) Network/proxy bloquant la connexion
429 code d'état Trop de requêtes – ralentissent les sondages

Utiliser des points d'arrêt

Les points d'arrêt suspendent les requêtes avant leur envoi, vous permettant de les modifier :

Définir un point d'arrêt

Un violon partout :

  1. Règles → Ajouter une règle
  2. Correspondance : l'URL contient ocr.captchaai.com/in.php
  3. Action : "Pause avant l'envoi"

Fiddler Classique :

  1. Règles -> Points d’arrêt automatiques -> Avant les requêtes
  2. Ou tapez bpu ocr.captchaai.com dans la barre QuickExec

Que faire à un point d'arrêt

Lorsqu'une demande est suspendue :

  1. Inspectez le corps de la demande : vérifiez que tous les paramètres sont corrects
  2. Modifier les paramètres : modifiez method, googlekey ou pageurl pour tester différentes valeurs.
  3. Reprendre : cliquez sur "Exécuter jusqu'à la fin" pour envoyer la demande modifiée.
  4. Vérifiez la réponse : voyez si votre modification a résolu le problème.

Ceci est utile pour tester si une valeur de paramètre provoque des échecs sans modifier le code.

Rejouer les demandes ayant échoué

Lorsqu'une requête échoue, vous pouvez la rejouer depuis Fiddler :

  1. Cliquez avec le bouton droit sur la session ayant échoué
  2. Sélectionnez ReplayDemandes de réédition
  3. La même requête est renvoyée avec des en-têtes et un corps identiques

Pour rejouer avec les modifications :

  1. Faites un clic droit → Modifier dans Composer
  2. Modifier les paramètres
  3. Cliquez sur Exécuter

Cela vous permet de tester les correctifs sans redémarrer votre application.

Rédaction de demandes de tests

Utilisez Fiddler's Composer pour créer des requêtes CaptchaAI à partir de zéro :

Soumission des tâches :

POST https://ocr.captchaai.com/in.php
Content-Type: application/x-www-form-urlencoded

key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=https://example.com&json=1

Résultat du sondage :

GET https://ocr.captchaai.com/res.php?key=YOUR_API_KEY&action=get&id=TASK_ID&json=1

C'est plus rapide que d'écrire du code lorsque vous souhaitez simplement vérifier que l'API fonctionne.

Analyser le timing

La vue Chronologie de Fiddler affiche la durée de la demande :

Métrique Valeur saine Indicateur de problème
Recherche DNS < 50 ms > 500 ms = problème DNS
Connexion TCP < 100 ms > 1000 ms = problème de réseau
Poignée de main TLS < 200 ms > 1000 ms = problème de certificat
Réponse du serveur (in.php) < 500 ms > 2000 ms = congestion du serveur
Réponse du serveur (res.php) < 200 ms > 1000 ms = inhabituel – vérifier l'état

Exportation de sessions pour le support

Si vous devez partager des données de débogage avec le support CaptchaAI :

  1. Sélectionnez les sessions pertinentes dans Fiddler
  2. Fichier -> Exporter les sessions -> Sessions sélectionnées
  3. Choisissez le format HTTPArchive (.har)
  4. Supprimez votre clé API du fichier exporté avant de le partager
Find and replace your actual API key with "REDACTED" in the .har file

Dépannage

Problème Parce que Corriger
Fiddler ne montre aucun trafic Le code ne passe pas par le proxy de Fiddler Définissez le proxy sur 127.0.0.1:8866 (Partout) ou 8888 (Classique)
Erreurs de certificat SSL Le certificat racine de Fiddler n'est pas fiable Réinstallez le certificat Fiddler ; ajouter aux racines de confiance
Fiddler affiche un corps de réponse tronqué La réponse est compressée Activez le bouton "Décoder" dans la barre d'outils (ou Règles – Supprimer tous les encodages)
Les points d'arrêt ne se déclenchent pas Incompatibilité de filtre ou de règle Vérifiez que le modèle d'URL correspond exactement à ocr.captchaai.com
Le trafic apparaît mais le corps est vide Incompatibilité de longueur de contenu ou réponse en streaming Cliquez sur session et attendez la réponse complète pour charger

FAQ

L'utilisation de Fiddler affecte-t-elle le timing de résolution de CAPTCHA ?

Au minimum. Fiddler ajoute environ 1 à 5 ms de latence par requête en raison du saut proxy. Ceci est négligeable par rapport aux temps de résolution du CAPTCHA (10 à 60 secondes). Pour le débogage critique en termes de timing, notez que les horodatages de Fiddler reflètent le moment où Fiddler a reçu les données, et non le moment où votre code les a envoyées.

Puis-je utiliser Fiddler avec la résolution CAPTCHA basée sur un navigateur ?

Oui. Configurez votre navigateur pour utiliser Fiddler comme proxy et vous verrez toutes les requêtes liées au CAPTCHA - y compris le chargement du widget, la récupération du défi et la soumission du jeton. Ceci est utile pour comprendre le cycle de vie complet du CAPTCHA.

Dois-je utiliser Fiddler Classic ou Fiddler Everywhere ?

Fiddler Everywhere est multiplateforme (Windows, macOS, Linux) avec une interface utilisateur moderne. Fiddler Classic est uniquement Windows mais possède des capacités de script plus avancées (FiddlerScript). Pour le débogage de base de CaptchaAI, l'un ou l'autre fonctionne.

Articles connexes

  • Captchaai Ip liste blanche sécurité des clés API
  • Rotation des clés API Captchaai
  • Concurrents de cartographie des points de terminaison de l'API Captchaai

Prochaines étapes

Des messages d'erreur API clairs accélèrent le débogage -commencer par CaptchaAIet utilisez Fiddler lorsque vous avez besoin d’une inspection plus approfondie au niveau de la demande.

Guides associés :

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