CaptchaAI akzeptiert Anfragen sowohl im formularcodierten als auch im JSON-Format. Beide funktionieren identisch – wählen Sie basierend auf Ihrer Sprache und Ihren Vorlieben.
Direkter Vergleich
Formularcodiert (Standard)
import requests
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
Inhaltstyp: application/x-www-form-urlencoded
JSON
import requests
resp = requests.post("https://ocr.captchaai.com/in.php", json={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
Inhaltstyp: application/json
Hauptunterschiede
| Faktor | Formularcodiert | JSON |
|---|---|---|
| Inhaltstyp | application/x-www-form-urlencoded |
application/json |
| Datenstruktur | Flache Schlüssel-Wert-Paare | Verschachtelte Objekte möglich |
| Binäre Daten | Verwenden Sie Multipart für den Datei-Upload | Base64-Kodierung im Textfeld |
| Array-Unterstützung | Beschränkt | Einheimisch |
| Python-Schlüsselwort | data={} |
json={} |
| Node.js | URLSearchParams |
JSON.stringify() |
| Lesbarkeit | Einfach für flache Parameter | Besser für komplexe Daten |
| Kompatibilität | Funktioniert überall | Funktioniert überall |
Antwortformat
Fügen Sie json=1 hinzu, um JSON-Antworten unabhängig vom Anforderungsformat zu erhalten:
# Without json=1 — plain text response
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
})
# Response: "OK|12345678"
# With json=1 — JSON response
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
# Response: {"status": 1, "request": "12345678"}
Verwenden Sie zur einfacheren Analyse immer json=1.
Python-Beispiele
Formularcodiert
import requests
# Submit
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
task_id = resp.json()["request"]
# Poll (always GET with query params)
resp = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY",
"action": "get",
"id": task_id,
"json": 1,
})
JSON-Körper
import requests
# Submit with JSON
resp = requests.post("https://ocr.captchaai.com/in.php", json={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
task_id = resp.json()["request"]
# Poll (same as form-encoded — GET with params)
resp = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY",
"action": "get",
"id": task_id,
"json": 1,
})
Node.js-Beispiele
Formularcodiert
const axios = require('axios');
const qs = require('querystring');
// Submit
const resp = await axios.post(
'https://ocr.captchaai.com/in.php',
qs.stringify({
key: 'YOUR_API_KEY',
method: 'userrecaptcha',
googlekey: 'SITE_KEY',
pageurl: 'https://example.com',
json: 1,
})
);
const taskId = resp.data.request;
JSON-Körper
const axios = require('axios');
// Submit with JSON
const resp = await axios.post(
'https://ocr.captchaai.com/in.php',
{
key: 'YOUR_API_KEY',
method: 'userrecaptcha',
googlekey: 'SITE_KEY',
pageurl: 'https://example.com',
json: 1,
}
);
const taskId = resp.data.request;
Bild-CAPTCHA: Formular vs. JSON
Bei Bild-CAPTCHAs ist das Format wichtiger:
Formular mit Datei-Upload (mehrteilig)
# File upload — form-encoded with multipart
resp = requests.post("https://ocr.captchaai.com/in.php",
data={
"key": "YOUR_API_KEY",
"method": "post",
"json": 1,
},
files={
"file": open("captcha.png", "rb"),
},
)
JSON mit Base64
import base64
# Base64 in JSON body
with open("captcha.png", "rb") as f:
body = base64.b64encode(f.read()).decode()
resp = requests.post("https://ocr.captchaai.com/in.php", json={
"key": "YOUR_API_KEY",
"method": "base64",
"body": body,
"json": 1,
})
Formular mit Base64
# Base64 in form data
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "base64",
"body": body,
"json": 1,
})
Wann welche zu verwenden ist
| Szenario | Empfohlen | Warum |
|---|---|---|
| Einfache Skripte | Formularcodiert | Einfacher, weniger Abhängigkeiten |
| REST-API-Integration | JSON | Entspricht typischen API-Mustern |
| Datei-Uploads | Mehrteiliges Formular | Direkter Binär-Upload |
| Große Base64-Bilder | Formularcodiert | Bessere Handhabung großer Nutzlasten |
| TypeScript/modern JS | JSON | Unterstützung nativer Objekte |
| Integration älterer Systeme | Formularcodiert | Universelle Kompatibilität |
| Migration von 2Captcha | Formularcodiert | Gleiches Format wie 2Captcha |
Häufige Fehler
| Fehler | Problem | Fix |
|---|---|---|
json={} wird verwendet, aber kein json: 1 in den Daten |
Die Antwort ist Klartext | Fügen Sie "json": 1 in die Daten ein |
Mischen von data= und json= in Python-Anfragen |
Anfrage fehlerhaft | Benutzen Sie das eine oder das andere |
| Content-Type-Header vergessen | Der Server kann den Text nicht analysieren | Lassen Sie es von Ihrer HTTP-Bibliothek automatisch festlegen |
| JSON-Text wird an den Polling-Endpunkt gesendet | Die Umfrage verwendet GET-Parameter | Verwenden Sie immer GET mit Abfrageparametern für /res.php |
FAQ
Beeinflusst das Format die Lösungsgeschwindigkeit oder -genauigkeit?
Nein. Beide Formate liefern identische Ergebnisse. Der Server verarbeitet sie auf die gleiche Weise.
Kann ich Formate im selben Projekt mischen?
Ja. Sie können mit JSON übermitteln und mit Abfrageparametern abfragen (so funktioniert die Abfrage immer). Jede Anfrage ist unabhängig.
Welches Format wird von der 2Captcha-kompatiblen API verwendet?
Die ursprüngliche 2Captcha-API verwendet Formularverschlüsselung. CaptchaAI fügt zusätzlich JSON-Unterstützung hinzu. Wenn Sie von 2Captcha migrieren, bleiben Sie bei form-encoded.
Verwandte Leitfäden
- API-Antwortformate und Fehlercodes
- API-Kurzreferenz
Wählen Sie Ihr bevorzugtes Format – Probieren Sie die CaptchaAI-API aus noch heute.