Tutorials

Debuggen von CAPTCHA-API-Aufrufen mit Charles Proxy

Wenn Ihre CAPTCHA-Integration unerwartete Fehler zurückgibt, zeigt die Untersuchung des rohen HTTP-Verkehrs, was wirklich gesendet und empfangen wird. Charles Proxy sitzt zwischen Ihrem Code und CaptchaAI und lässt Sie jede Anfrage, Antwort und jedes Timing-Details sehen.


Einrichtung

1. Installieren Sie Charles Proxy

Herunterladen voncharlesproxy.com. Verfügbar für Windows, macOS und Linux.

2. Aktivieren Sie SSL-Proxy

CaptchaAI verwendet HTTPS. So überprüfen Sie verschlüsselten Datenverkehr:

  1. ProxySSL-Proxy-EinstellungenHinzufügen
  2. Host: ocr.captchaai.com, Port: 443
  3. HilfeSSL-ProxyCharles-Stammzertifikat installieren
  4. Vertrauen Sie dem Zertifikat in Ihrem Betriebssystem-Zertifikatspeicher

3. Konfigurieren Sie Ihren Code für die Verwendung von Charles

Charles läuft standardmäßig auf localhost:8888.

Python:

import requests

proxies = {
    "http": "http://localhost:8888",
    "https": "http://localhost:8888",
}

# Disable SSL verification for Charles (development only)
resp = requests.post(
    "https://ocr.captchaai.com/in.php",
    data={"key": "YOUR_API_KEY", "method": "userrecaptcha", "json": "1"},
    proxies=proxies,
    verify=False,
)

Node.js:

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

const agent = new HttpsProxyAgent('http://localhost:8888');

const resp = await axios.post('https://ocr.captchaai.com/in.php', null, {
  params: { key: 'YOUR_API_KEY', method: 'userrecaptcha', json: 1 },
  httpsAgent: agent,
});

Was zu prüfen ist

Anfrage senden (POST /in.php)

Klicken Sie in Charles auf die Anfrage an /in.php. Überprüfen Sie:

Tab Was zu überprüfen ist
Anfrage → Kopfzeilen Der Inhaltstyp ist korrekt
Anfrage → Text Alle erforderlichen Parameter vorhanden
Antwort → Text {"status":1,"request":"TASK_ID"} über Erfolg
Timing Anfragedauer (sollte <1s sein)

Häufige bei Charles sichtbare Probleme:

  • Der Parameter method fehltERROR_BAD_PARAMETERS
  • Falscher Inhaltstyp – Parameter wurden nicht analysiert
  • Leer googlekeyERROR_WRONG_GOOGLEKEY
  • Fehlerhafter JSON-Text – Verwenden Sie Formulardaten, keinen JSON-Text

Umfrageanfrage (GET /res.php)

Überprüfen Sie die Umfrageanfragen:

  • Parameter: key, action=get, id=TASK_ID
  • Antwort: CAPCHA_NOT_READY (weiter abfragen) oder {"status":1,"request":"TOKEN"}
  • Timing: Auf jede Umfrage folgt Ihr Schlafintervall

Debuggen häufiger Probleme

Problem: ERROR_WRONG_GOOGLEKEY

Sehen Sie sich in Charles den Hauptteil der Anforderung zum Senden an. Suchen Sie das Feld googlekey:

# What Charles shows:
key=YOUR_API_KEY&method=userrecaptcha&googlekey=&pageurl=https://example.com&json=1
                                      ^^^^^^^^ empty!

Fix: Die Sitekey-Extraktion ist im Upstream fehlgeschlagen. Überprüfen Sie Ihren Extraktionscode.

Problem: Token wurde von der Ziel-Site abgelehnt

Vergleichen Sie, was CaptchaAI zurückgegeben hat, mit dem, was Sie injizieren:

  1. Suchen Sie in Charles die /res.php-Antwort mit status: 1
  2. Kopieren Sie das vollständige Token aus dem Feld request
  3. Suchen Sie die nachfolgende Anfrage an die Zielsite
  4. Stellen Sie sicher, dass sich das Token im Formularkörper als g-recaptcha-response befindet

Problem: Zeitüberschreitung bei Anfragen

Verwenden Sie die Charles Sequenz-Ansicht, um das Timing anzuzeigen:

POST /in.php     → 234ms ✓
GET  /res.php    → 189ms (CAPCHA_NOT_READY)
GET  /res.php    → 201ms (CAPCHA_NOT_READY)
GET  /res.php    → 195ms (CAPCHA_NOT_READY)
... 23 more ...
GET  /res.php    → 188ms (CAPCHA_NOT_READY)  ← never resolves

Wenn es nie behoben wird: Überprüfen Sie, ob der Sitekey und die Seiten-URL korrekt sind.


Charles-Funktionen für das CAPTCHA-Debugging

Bitte wiederholen Sie die Anfrage

Klicken Sie mit der rechten Maustaste auf eine beliebige Anfrage → Wiederholen, um sie erneut zu senden. Nützlich zum Testen von Umfrageanfragen, ohne das gesamte Skript erneut ausführen zu müssen.

Haltepunkte

Legen Sie einen Haltepunkt auf /in.php fest, um die Anfrage vor dem Senden zu prüfen und zu ändern:

  1. ProxyHaltepunkteinstellungenHinzufügen
  2. Host: ocr.captchaai.com, Pfad: /in.php
  3. Überprüfen Sie Anfrage
  4. Jetzt pausiert Ihr Code vor dem Senden – Sie können Parameter bearbeiten

Lokale Karte

Ersetzen Sie API-Antworten zum Testen durch lokale Dateien:

  1. ExtrasLokal zuordnenHinzufügen
  2. Ordnen Sie https://ocr.captchaai.com/res.php einer lokalen JSON-Datei zu
  3. Erstellen Sie mock_response.json:
{"status": 1, "request": "mock_token_for_testing"}

Dadurch können Sie Ihren Token-Injection-Code testen, ohne API-Credits zu verwenden.

Gas geben

Simulieren Sie langsame Verbindungen:

  1. ProxyDrosseleinstellungen → Aktivieren
  2. Stellen Sie die Voreinstellung auf die Geschwindigkeiten 3G oder EDGE-Level ein
  3. Testen Sie, ob Ihr Code langsame Antworten und Zeitüberschreitungen korrekt verarbeitet

Alternativen zu Charles

Werkzeug Plattform HTTPS Kosten
Charles Proxy Win/Mac/Linux Erfordert die Installation eines Zertifikats Kostenpflichtig (kostenlose Testversion)
mitmproxy Win/Mac/Linux Erfordert die Installation eines Zertifikats Kostenlos
Geiger Windows Integrierte HTTPS-Entschlüsselung Kostenlos
Stellvertreter macOS Ein-Klick-HTTPS-Setup Freemium

Mitmproxy-Schnelleinrichtung

# Install
pip install mitmproxy

# Run
mitmproxy --listen-port 8080

# Configure Python
proxies = {"https": "http://localhost:8080"}

Fehlerbehebung

Problem Ursache Lösung
SSL-Fehler im Code Charles-Zertifikat nicht vertrauenswürdig Installieren Sie das Charles-Root-Zertifikat; Verwenden Sie verify=False für Entwickler
Keine Anfragen sichtbar Code verwendet keinen Proxy Legen Sie den Proxy in der Konfiguration „requests/axios“ fest
Verstümmelte HTTPS-Antwort SSL-Proxying nicht aktiviert Fügen Sie ocr.captchaai.com zu den SSL-Proxy-Einstellungen hinzu
Charles verlangsamt Anfragen Haltepunkte aktiviert Haltepunkte deaktivieren, wenn sie nicht benötigt werden

FAQ

Sollte ich Charles in der Produktion verwenden?

Nein. Charles ist ein Entwicklungs- und Debugging-Tool. Nutzen Sie strukturierte Protokollierung und Überwachung für die Produktionsbeobachtbarkeit.

Beeinflusst die Weiterleitung über Charles die Lösung von CAPTCHAs?

Nein. CaptchaAI sieht Charles nicht als Proxy – Ihre Anfragen werden transparent weitergeleitet.


Debuggen und optimieren Sie Ihre CaptchaAI-Integration

Holen Sie sich Ihren API-Schlüssel unter captchaai.com.


Verwandte Leitfäden

Kommentare sind für diesen Artikel deaktiviert.