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:
- Proxy → SSL-Proxy-Einstellungen → Hinzufügen
- Host:
ocr.captchaai.com, Port:443 - Hilfe → SSL-Proxy → Charles-Stammzertifikat installieren
- 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
methodfehlt →ERROR_BAD_PARAMETERS - Falscher Inhaltstyp – Parameter wurden nicht analysiert
- Leer
googlekey→ERROR_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:
- Suchen Sie in Charles die
/res.php-Antwort mitstatus: 1 - Kopieren Sie das vollständige Token aus dem Feld
request - Suchen Sie die nachfolgende Anfrage an die Zielsite
- Stellen Sie sicher, dass sich das Token im Formularkörper als
g-recaptcha-responsebefindet
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:
- Proxy → Haltepunkteinstellungen → Hinzufügen
- Host:
ocr.captchaai.com, Pfad:/in.php - Überprüfen Sie Anfrage
- Jetzt pausiert Ihr Code vor dem Senden – Sie können Parameter bearbeiten
Lokale Karte
Ersetzen Sie API-Antworten zum Testen durch lokale Dateien:
- Extras → Lokal zuordnen → Hinzufügen
- Ordnen Sie
https://ocr.captchaai.com/res.phpeiner lokalen JSON-Datei zu - 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:
- Proxy → Drosseleinstellungen → Aktivieren
- Stellen Sie die Voreinstellung auf die Geschwindigkeiten 3G oder EDGE-Level ein
- 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
- Strukturierte Protokollierung für CAPTCHA-Vorgänge
- CaptchaAI Fehlercode-Referenz
- Fiddler zum Inspizieren von CaptchaAI-API-Traffic