Explainers

GeeTest v4 CAPTCHA-Änderungs- und Lösungsleitfaden

GeeTest v4 bringt im Vergleich zu Version 3 erhebliche Änderungen in der Architektur, den Herausforderungstypen und den Integrationsmustern mit sich. In diesem Leitfaden wird erläutert, was sich geändert hat und wie die Herausforderungen der Version 4 gelöst werden können.


GeeTest v3 vs. v4 – Hauptunterschiede

Funktion GeeTest v3 GeeTest v4
Initialisierung gt + challenge vom Server Nur captcha_id
Herausforderungsparameter Erforderlich für API-Aufruf Clientseitig generiert
Herausforderungstypen Schieben, klicken Schieben, Klicken, Symbolauswahl, Leerzeichen
Validierung Der Server gibt challenge zurück Verwendet lot_number + pass_token
API-Endpunkt api.geetest.com gcaptcha4.geetest.com
Schwierigkeiten beim Skalieren Behoben Adaptive Risikobewertung

Extrahieren von GeeTest v4-Parametern

# 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']}")

Lösen von GeeTest v4 mit CaptchaAI

# solve_geetest_v4.py
import requests
import time
import os


def solve_geetest_v4(captcha_id, pageurl):
    """Submit GeeTest v4 to CaptchaAI and get solution."""
    api_key = os.environ["CAPTCHAAI_API_KEY"]

    # Submit task
    resp = requests.post("https://ocr.captchaai.com/in.php", data={
        "key": api_key,
        "method": "geetest",
        "gt": captcha_id,      # captcha_id maps to the gt parameter
        "pageurl": pageurl,
        "version": "4",        # Specify v4 explicitly
        "json": 1,
    }, timeout=30)

    result = resp.json()
    if result.get("status") != 1:
        raise RuntimeError(f"Submit failed: {result.get('request')}")

    task_id = result["request"]

    # Poll for result
    time.sleep(10)
    for _ in range(30):
        resp = requests.get("https://ocr.captchaai.com/res.php", params={
            "key": api_key,
            "action": "get",
            "id": task_id,
            "json": 1,
        }, timeout=15)
        data = resp.json()

        if data.get("status") == 1:
            return data["request"]  # Contains validation tokens
        if data["request"] != "CAPCHA_NOT_READY":
            raise RuntimeError(data["request"])
        time.sleep(5)

    raise TimeoutError("GeeTest v4 solve timeout")


# Usage
solution = solve_geetest_v4(
    captcha_id="abc123def456",
    pageurl="https://example.com/login",
)
print(f"Solution: {solution}")

Injizieren der GeeTest v4-Lösung

# inject_geetest_v4.py
import json
from selenium import webdriver
from selenium.webdriver.common.by import By


def inject_geetest_v4_solution(driver, solution):
    """Inject GeeTest v4 solution tokens into the page."""
    # Parse solution — v4 returns different tokens than v3
    if isinstance(solution, str):
        try:
            solution = json.loads(solution)
        except json.JSONDecodeError:
            pass

    # GeeTest v4 validation uses lot_number, pass_token, gen_time, captcha_output
    driver.execute_script("""
        var solution = arguments[0];

        // Set hidden form fields
        var fields = {
            'lot_number': solution.lot_number,
            'pass_token': solution.pass_token,
            'gen_time': solution.gen_time,
            'captcha_output': solution.captcha_output,
        };

        for (var name in fields) {
            var input = document.querySelector('input[name="' + name + '"]');
            if (!input) {
                input = document.createElement('input');
                input.type = 'hidden';
                input.name = name;
                document.forms[0].appendChild(input);
            }
            input.value = fields[name];
        }

        // Trigger validation callback if available
        if (window.captchaObj && typeof window.captchaObj.appendTo === 'function') {
            window.captchaObj.appendTo('#captcha-container');
        }
    """, solution)

v4-Herausforderungstypen

Schiebepuzzle

Die klassische Slide-to-Match-Herausforderung. Der Benutzer zieht ein Puzzleteil.

Klicken Sie auf Auswahl

Der Benutzer klickt auf bestimmte Objekte (z. B. „Auf alle Gesichter klicken“). Verwendet die Symbolerkennung.

Raumbegründung

Neu in Version 4: Der Benutzer ordnet Formen in einem räumlichen Muster an. Komplexer als v3.

Symbolübereinstimmung

Der Benutzer stimmt mit den in einer Sequenz angezeigten Symbolen überein. Manuell schwieriger zu automatisieren.

CaptchaAI verarbeitet alle Herausforderungstypen der Version 4 – die API abstrahiert die herausforderungsspezifische Logik.


Fehlerbehebung

Problem Ursache Lösung
ERROR_WRONG_CAPTCHA_ID Verwendung des v3-gt-Werts anstelle des v4-captcha_id-Werts Überprüfen Sie die Seite auf das Skript gcaptcha4, um Version 4 zu bestätigen
Lösung abgelehnt Fehlender Parameter version=4 Geben Sie für Version 4 immer version: "4" an
captcha_id nicht gefunden JavaScript-gerendert Verwenden Sie Selenium, um aus der gerenderten Seite zu extrahieren
Fehler im Token-Format Parsing-String anstelle von JSON Parsen Sie die Lösung als JSON, um einzelne Token zu erhalten

FAQ

Woher weiß ich, ob eine Site GeeTest v3 oder v4 verwendet?

Suchen Sie in der Seitenquelle für Version 4 nach gcaptcha4.geetest.com oder gt4.js. Wenn Sie api.geetest.com und einen challenge-Parameter sehen, handelt es sich um v3.

Ist GeeTest v4 schwieriger zu lösen als v3?

Für automatisierte Löser nein. CaptchaAI verarbeitet beide Versionen. Der adaptive Schwierigkeitsgrad von V4 wirkt sich auf die Reibung des Endbenutzers aus, nicht jedoch auf die API-basierte Lösung.

Wie hoch ist die Erfolgsquote für GeeTest v4?

CaptchaAI meldet eine Erfolgsquote von 100 % für GeeTest-Herausforderungen, konsistent über v3 und v4 hinweg.


Verwandte Leitfäden

  • GeeTest-Folienparameterhandbuch
  • GeeTest vs. reCAPTCHA Vergleich

GeeTest v4 lösen – Beginnen Sie mit CaptchaAI.

Kommentare sind für diesen Artikel deaktiviert.

Verwandte Beiträge

Use Cases Selenium CAPTCHA-Handhabung mit Python und CaptchaAI
Selenium CAPTCHA-Verwaltung mit Python und Captcha AI: re CAPTCHA, Cloudflare und mehr automatisch lösen.

Selenium CAPTCHA-Verwaltung mit Python und Captcha AI: re CAPTCHA, Cloudflare und mehr automatisch lösen.

Apr 30, 2026
Explainers User-Agent-Verwaltung für CAPTCHA-Lösungsworkflows
User-Agent-Verwaltung für CAPTCHA-Lösungs-Workflows: Browser-Fingerprint optimieren und Erkennung vermeiden.

User-Agent-Verwaltung für CAPTCHA-Lösungs-Workflows: Browser-Fingerprint optimieren und Erkennung vermeiden.

May 01, 2026
Explainers Cloudflare Challenge cf_clearance Cookie-Anleitung
Cloudflare Challenge cf_clearance Cookie: Wie der Challenge-Flow funktioniert, wie das Cookie gesetzt wird und wie man es mit Captcha AI in Automatisierungswork...

Cloudflare Challenge cf_clearance Cookie: Wie der Challenge-Flow funktioniert, wie das Cookie gesetzt wird und...

Apr 23, 2026