Hintergründe

GeeTest v4 vs. v3: Was sich ändert und wie Sie CAPTCHAs lösen

Die wichtigste Antwort vorweg: CaptchaAI löst GeeTest v3 zuverlässig. CaptchaAI löst GeeTest v4 nicht. Wer eine Seite mit GeeTest automatisieren will, sollte deshalb zuerst die Version sicher erkennen und die neue Architektur von v4 verstehen. Dieser Leitfaden zeigt, was sich zwischen v3 und v4 geändert hat, wie Sie beide Versionen im Seitenquelltext auseinanderhalten und wo CaptchaAI dabei steht.


GeeTest v3 oder v4? So erkennen Sie die Version

Die schnellste Prüfung ist ein Blick in den Seitenquelltext. GeeTest v4 lädt das Skript von gcaptcha4.geetest.com oder bindet gt4.js ein und arbeitet mit einer captcha_id. Sehen Sie dagegen api.geetest.com, einen challenge-Parameter und einen gt-Wert, handelt es sich um v3. Diese Unterscheidung entscheidet, welche Parameter Sie extrahieren und welchen Integrationsweg Sie einschlagen.

Merkmal GeeTest v3 GeeTest v4
Initialisierung gt + challenge vom Server nur captcha_id
Abfrageparameter für den API-Aufruf erforderlich clientseitig generiert
Abfragetypen Schieben, Klicken Schieben, Klicken, Symbolauswahl, räumliche Anordnung
Validierung Server gibt challenge zurück nutzt lot_number + pass_token
API-Endpunkt api.geetest.com gcaptcha4.geetest.com
Schwierigkeitsgrad fest adaptive Risikobewertung

Praktisch bedeutet dieser Umbau: v3 lieferte gt und challenge direkt vom Server, sodass Sie beide Werte vor dem API-Aufruf auslesen konnten. v4 generiert die Abfrage clientseitig und identifiziert die Instanz nur noch über captcha_id. Die Validierung läuft nicht mehr über einen zurückgegebenen challenge-Wert, sondern über die Token lot_number und pass_token. Wer von v3 kommt, muss vor allem die Parameterextraktion und das Einfügen der Ergebnis-Token neu denken.

Ein typisches Szenario aus der Praxis: Ein Berliner Entwickler betreibt ein Preis-Monitoring für ein Reiseportal und stößt beim Login plötzlich auf GeeTest v4 statt v3. Bevor er die Automatisierung anpasst, muss er zuverlässig feststellen, welche Version aktiv ist – und beim Verarbeiten personenbezogener Daten wie IP-Adressen die DSGVO-Grundlagen im Blick behalten. Für den Betrieb der Worker eignen sich lokale Anbieter wie Hetzner oder netcup ebenso wie AWS Lambda.


GeeTest-v4-Parameter aus der Seite extrahieren

Die captcha_id steckt im gerenderten HTML. Da GeeTest per JavaScript nachlädt, reicht ein einfacher HTTP-Request oft nicht – ein Headless-Browser wie Selenium liefert den vollständigen Seitenquelltext. Das folgende Skript liest die captcha_id per Regex aus und bestätigt zugleich, ob es sich um v4 handelt:

# extract_geetest_v4.py
import re
from selenium import webdriver


def extract_geetest_v4_params(url):
    """Extract GeeTest v4 captcha_id from a page."""
    driver = webdriver.Chrome()
    driver.get(url)

    page_source = driver.page_source

    # GeeTest v4 uses captcha_id instead of gt
    match = re.search(r'captcha_id["\']?\s*[:=]\s*["\']([a-f0-9]+)', page_source)
    captcha_id = match.group(1) if match else None

    # Check for v4-specific script
    is_v4 = "gcaptcha4" in page_source or "gt4.js" in page_source

    driver.quit()

    return {
        "captcha_id": captcha_id,
        "is_v4": is_v4,
        "pageurl": url,
    }


# Usage
params = extract_geetest_v4_params("https://example.com/login")
print(f"Captcha ID: {params['captcha_id']}")
print(f"Is v4: {params['is_v4']}")

Wo CaptchaAI ins Spiel kommt

CaptchaAI löst GeeTest v3. CaptchaAI löst GeeTest v4 nicht. Die Methode geetest nimmt die v3-Werte entgegen (gt, einen frischen challenge-Wert und pageurl) und liefert challenge, validate und seccode zurück. Parameter für v4 gibt es nicht; senden Sie eine v4-captcha_id also nicht als gt. Führen Sie zuerst die Prüfung oben aus: Lädt die Seite gcaptcha4.geetest.com oder gt4.js, läuft dort v4, und CaptchaAI kann die Abfrage nicht lösen. Läuft auf der Seite noch v3, zeigt So lösen Sie GeeTest v3 mithilfe der API den vollständigen Ablauf.

Die Abrechnung erfolgt Thread-basiert: Jeder Plan (ab BASIC mit 15 $/Monat und 5 Threads) enthält unbegrenzte Lösungen pro Thread, sodass die Kosten auch bei hohem Scraping-Volumen planbar bleiben.


Wie sich die Validierung in v4 unterscheidet

Auf einer v3-Seite liefert ein bestandener Test drei Werte, geetest_challenge, geetest_validate und geetest_seccode, die das Backend der Website bei GeeTest prüft. Auf einer v4-Seite gibt captchaObj.getValidate() stattdessen vier Werte zurück: lot_number, captcha_output, pass_token und gen_time. Das Backend der Website sendet sie an den v4-Endpunkt /validate von GeeTest auf gcaptcha4.geetest.com, zusammen mit seiner captcha_id und einem sign_token, den es mit seinem privaten Schlüssel signiert (GeeTests v4-Dokumentation zur Web-API und zur Server-API). Code, der die drei v3-Felder liest oder füllt, findet auf einer v4-Seite nichts, womit er arbeiten kann.


Typische Fehler und ihre Behebung

Die meisten Probleme entstehen dadurch, dass ein v3-Ablauf unverändert auf eine v4-Seite trifft. Diese Tabelle fasst die häufigsten Fälle zusammen:

Problem Ursache Behebung
Die Suche nach gt / challenge findet auf einer Seite, die bisher funktioniert hat, nichts Die Website ist auf GeeTest v4 umgestiegen, das keinen vom Server ausgegebenen challenge-Wert hat Seite auf gcaptcha4.geetest.com oder gt4.js prüfen; CaptchaAI löst nur GeeTest v3
ERROR_WRONG_CAPTCHA_ID von CaptchaAI Ungültiger gt- oder challenge-Wert, etwa eine v4-captcha_id, die als gt gesendet wurde Für jede Anfrage den v3-Wert gt der Seite und einen frischen challenge-Wert senden
captcha_id nicht gefunden wird per JavaScript gerendert mit Selenium aus der gerenderten Seite extrahieren

Die Abfragetypen von GeeTest v4

GeeTest v4 kombiniert mehrere Abfragetypen und wählt je nach Risikobewertung dynamisch aus:

  • Schiebepuzzle: die klassische Slide-to-Match-Abfrage – der Nutzer zieht ein Puzzleteil an die passende Stelle.
  • Klick-Auswahl: der Nutzer klickt bestimmte Objekte an (etwa „alle Gesichter anklicken“) – beruht auf Symbolerkennung.
  • Räumliche Anordnung: neu in v4 – der Nutzer ordnet Formen in einem räumlichen Muster an, deutlich komplexer als in v3.
  • Symbol-Abgleich: der Nutzer gleicht Symbole ab, die in einer Sequenz erscheinen – manuell schwerer zu automatisieren.

Welchen dieser Typen eine Seite auch zeigt: Es ist GeeTest v4, und CaptchaAI kann es nicht lösen. CaptchaAI löst GeeTest v3.


Häufige Fragen

Kann CaptchaAI GeeTest v4 lösen?

Nein. CaptchaAI löst GeeTest v3 mit hoher Erfolgsquote. CaptchaAI löst GeeTest v4 nicht, daher gibt es auch keine v4-Erfolgsquote.

Funktioniert mein bestehender GeeTest-v3-Code auch mit v4?

Nein. v4 hat keinen vom Server ausgegebenen challenge-Wert, und ein bestandener Test liefert vier Werte (lot_number, captcha_output, pass_token, gen_time) statt drei. Eine v3-Integration lässt sich deshalb nicht einfach auf eine v4-Seite richten. CaptchaAI löst GeeTest v3, aber nicht GeeTest v4.

Was bedeutet die adaptive Risikobewertung von GeeTest v4?

GeeTest v4 passt die Schwierigkeit dynamisch an das wahrgenommene Risiko einer Sitzung an. Das erhöht vor allem die Reibung für Endnutzer. Lösungsdaten für einen Vergleich mit v3 gibt es nicht, denn CaptchaAI löst GeeTest v4 nicht.

Ist das Automatisieren von GeeTest-CAPTCHAs beim Scraping in der DACH-Region zulässig?

Das hängt vom Einzelfall ab. Prüfen Sie die Nutzungsbedingungen der Zielseite und – sobald personenbezogene Daten wie IP-Adressen im Spiel sind – Ihre Rechtsgrundlage nach DSGVO. CaptchaAI löst die CAPTCHA-Abfrage; die rechtliche Bewertung Ihres Datenflusses bleibt Ihre Verantwortung.


Verwandte Leitfäden


GeeTest v3 lösen – jetzt mit CaptchaAI starten. CaptchaAI löst GeeTest v4 nicht.

Kommentare sind für diesen Artikel deaktiviert.