Vergleiche

Token-basierte vs. Cookie-basierte CAPTCHA-Lösung

CAPTCHA-Lösungen gibt es in zwei Formen: Tokens, die Sie in Formularübermittlungen einfügen, und Cookies, die Zugriff auf Sitzungsebene gewähren. Die Wahl des richtigen Ansatzes hängt davon ab, mit welchem ​​CAPTCHA Sie es zu tun haben und wie die Zielseite es validiert.


Auf einen Blick

Aspekt Tokenbasiert Cookie-basiert
Ausgabe Ein String-Token (500+ Zeichen) Ein Browser-Cookie (cf_clearance usw.)
Verwendet für reCAPTCHA v2/v3, hCaptcha, Drehkreuz Cloudflare Challenge-Seiten
Wie es verwendet wird Wird in das Formularfeld oder den POST-Text eingefügt Wird mit nachfolgenden HTTP-Anfragen gesendet
Lebenszeit 60-120 Sekunden 30 Minuten bis 24 Stunden
Wiederverwendbar Nein (Einmalgebrauch) Ja (für die Sitzungsdauer)
Browser erforderlich Nur zur Extraktion Zum Lösen (vollständiger Browser erforderlich)

Tokenbasiertes Lösen

Wie es funktioniert

  1. Extrahieren Sie den Sitekey von der Seite
  2. Sitekey + Seiten-URL an CaptchaAI senden
  3. Erhalten Sie eine Token-Zeichenfolge
  4. Fügen Sie das Token in das ausgeblendete Formularfeld ein
  5. Senden Sie das Formular ab

Welche CAPTCHAs verwenden Token?

  • reCAPTCHA v2: Token geht in den Textbereich g-recaptcha-response
  • reCAPTCHA v3: Gleiches Feld, benötigt aber zusätzlich action (sowie enterprise=1 für Enterprise-Sitekeys)
  • hCaptcha: Token geht in h-captcha-response
  • Drehkreuz: Token geht in cf-turnstile-response

Umsetzung

import requests
import time

API_KEY = "YOUR_API_KEY"

# 1. Solve
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6Le-wvkSAAAAAPBMR...",
    "pageurl": "https://example.com/login",
    "json": "1",
}).json()
task_id = resp["request"]

# 2. Poll
token = None
for _ in range(24):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY, "action": "get", "id": task_id, "json": "1"
    }).json()
    if result["status"] == 1:
        token = result["request"]
        break

# 3. Submit form with token (no browser needed)
form_response = requests.post("https://example.com/login", data={
    "email": "user@example.com",
    "password": "password",
    "g-recaptcha-response": token,
})

Hauptmerkmale

  • Für die Übermittlung ist kein Browser erforderlich: Sie können das Token direkt in eine HTTP-POST-Anfrage einfügen
  • Kurzlebig: Token verfallen in 60–120 Sekunden – lösen und sofort verwenden
  • Einmalige Verwendung: Jeder Token funktioniert einmal; Lösen Sie die Lösung für jede Formularübermittlung erneut
  • Serverseitige Validierung: Die Zielseite sendet das Token zur Überprüfung an Google/Cloudflare/hCaptcha

Wie es funktioniert

  1. Eine Challenge-Seite wird bereitgestellt (Cloudflare Challenge, JS Challenge)
  2. Ein Browser löst die Herausforderung (kann Turnstile intern einbeziehen)
  3. Der Server setzt ein Sitzungscookie (cf_clearance)
  4. Alle nachfolgenden Anfragen mit diesem Cookie überspringen die Herausforderung

Welche CAPTCHAs verwenden Cookies

  • Cloudflare Challenge-Seiten: cf_clearance-Cookie
  • JS Challenge: Cloudflare-JavaScript-Challenge
  • Einige WAF-Herausforderungen: Verschiedene Webanwendungs-Firewalls

Umsetzung

from selenium import webdriver
import requests
import time

# 1. Herausforderung im Browser loesen
driver = webdriver.Chrome()
driver.get("https://example.com/protected")

# Warten, bis die Herausforderung abgeschlossen ist (manuell oder ueber regulare Integration)
time.sleep(10)

# 2. Cookies aus dem Browser uebernehmen
cookies = driver.get_cookies()
cf_clearance = next(
    (c for c in cookies if c["name"] == "cf_clearance"), None
)
user_agent = driver.execute_script("return navigator.userAgent")
driver.quit()

# 3. Cookies fuer Folgeanfragen nutzen (ohne Browser)
session = requests.Session()
session.headers.update({"User-Agent": user_agent})

for cookie in cookies:
    session.cookies.set(cookie["name"], cookie["value"])

# Folgeanfragen mit gleicher Session ausfuehren
for page in range(1, 50):
    resp = session.get(f"https://example.com/api/data?page={page}")
    print(f"Page {page}: {resp.status_code}")

Hauptmerkmale

  • Browser zum Lösen erforderlich: Die Herausforderung erfordert eine vollständige Browserumgebung
  • Langlebig: Cookies sind 30 Minuten bis 24 Stunden haltbar
  • Wiederverwendbar: Eine Lösung gewährt Zugriff auf viele Anfragen
  • IP-gebunden: Das Cookie ist an die IP gebunden, die die Herausforderung gelöst hat
  • UA-gebunden: Der User-Agent muss mit dem beim Lösen verwendeten übereinstimmen

Wann welche verwenden

Szenario Ansatz Warum
Anmeldeformular mit reCAPTCHA Token Senden Sie ein Token mit Formulardaten
Scraping einer durch Cloudflare geschützten Website Keks Eine Lösung, viele Seitenanfragen
Formulareinreichung mit Turnstile Token In cf-turnstile-response injizieren
Zugriff auf eine API hinter Cloudflare Keks Cookie für alle API-Aufrufe wiederverwenden
Senden mehrerer Formulare Token (jedes Mal) Jedes Formular benötigt ein neues Token
Massen-Scraping derselben Domain Keks Einmal lösen, kratzen, bis der Keks abläuft

Hybrider Ansatz

Einige Websites verwenden beides: eine Cloudflare Challenge-Seite (Cookie), die ein Formular mit reCAPTCHA (Token) schützt.

# Step 1: Get past Cloudflare (cookie)
session = get_cf_clearance_session("https://example.com")

# Step 2: Load the form (using the cookie session)
html = session.get("https://example.com/submit").text
sitekey = extract_sitekey(html)

# Step 3: Solve reCAPTCHA (token)
token = solve_recaptcha(sitekey, "https://example.com/submit")

# Step 4: Submit form (cookie + token)
resp = session.post("https://example.com/submit", data={
    "data": "value",
    "g-recaptcha-response": token,
})

Vergleichszusammenfassung

Funktion Token Keks
Kosten lösen Pro Formularübermittlung Pro Sitzung (amortisiert)
Zeit lösen 10–30 Sekunden pro Token 10–30 Sekunden einmal
Anfragen pro Lösung 1 Viele (bis zum Ablauf)
IP-Flexibilität Token funktioniert von jeder IP aus Cookie, das an die Lösung von IP gebunden ist
Browser zur Nutzung Nicht erforderlich Nicht erforderlich (nur das Cookie)
Verfallsrisiko 60-120er 30 Minuten – 24 Stunden

FAQ

Nein. Der Ansatz hängt davon ab, wie die Site validiert. reCAPTCHA verwendet immer Token; Cloudflare Challenge verwendet immer Cookies.

Was ist beim Schaben mit hohem Volumen günstiger?

Cookie-basiert ist, sofern verfügbar, weitaus günstiger. Eine Lösung deckt Tausende von Anfragen ab. Tokenbasiert erfordert eine Lösung pro Formularübermittlung.

Bewältigt CaptchaAI beides?

Ja. Tokenbasierte CAPTCHAs geben eine Tokenzeichenfolge zurück. Für Cloudflare Challenge-Seiten können Sie den Turnstile-Solver verwenden, um das zum Abschließen der Herausforderung erforderliche Token abzurufen und dann das resultierende Cookie zu extrahieren.


Lösen Sie CAPTCHAs mit CaptchaAI

Holen Sie sich Ihren API-Schlüssel untercaptchaai.com.


Verwandte Leitfäden

Kommentare sind für diesen Artikel deaktiviert.