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 :
- Ouvrez Paramètres – HTTPS
- Activer « Capturer le trafic HTTPS »
- Installez le certificat racine Fiddler lorsque vous y êtes invité
- Faites confiance au certificat dans le magasin de certificats de votre système d'exploitation
Fiddler Classique (Windows) :
- Outils → Options → HTTPS
- Cochez "Déchiffrer le trafic HTTPS"
- 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
- Cliquez sur l'onglet Filtres
- Ajouter une règle : Hôte ->
contains->ocr.captchaai.com - Appliquer le filtre
Filtres classiques Fiddler
- Cliquez sur l'onglet Filtres
- Cochez "Utiliser les filtres"
- Sous « Hôtes », sélectionnez « Afficher uniquement les hôtes suivants ».
- 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 :
- Règles → Ajouter une règle
- Correspondance : l'URL contient
ocr.captchaai.com/in.php - Action : "Pause avant l'envoi"
Fiddler Classique :
- Règles -> Points d’arrêt automatiques -> Avant les requêtes
- Ou tapez
bpu ocr.captchaai.comdans la barre QuickExec
Que faire à un point d'arrêt
Lorsqu'une demande est suspendue :
- Inspectez le corps de la demande : vérifiez que tous les paramètres sont corrects
- Modifier les paramètres : modifiez
method,googlekeyoupageurlpour tester différentes valeurs. - Reprendre : cliquez sur "Exécuter jusqu'à la fin" pour envoyer la demande modifiée.
- 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 :
- Cliquez avec le bouton droit sur la session ayant échoué
- Sélectionnez Replay → Demandes de réédition
- La même requête est renvoyée avec des en-têtes et un corps identiques
Pour rejouer avec les modifications :
- Faites un clic droit → Modifier dans Composer
- Modifier les paramètres
- 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 :
- Sélectionnez les sessions pertinentes dans Fiddler
- Fichier -> Exporter les sessions -> Sessions sélectionnées
- Choisissez le format HTTPArchive (.har)
- 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 :