Dokumentationsmenü

GeeTestTask: Captcha von geetest.com mit Proxy lösen

Diese Art von Aufgabe löst GeeTest-Captcha in den Browsern unserer Arbeiter. Ihre App sendet die Website-Adresse, gt-Schlüssel, Challenge-Schlüssel und erhält nach Abschluss der Aufgabe eine Lösung, die aus 3 Token besteht.

Beispiele

Aufgabenobjekt

Wert Art Erforderlich Zweck
type String Ja GeeTestTask
websiteURL String Ja Adresse einer Ziel-Webseite. Kann sich an beliebiger Stelle auf der Website befinden, auch in einem Mitgliederbereich. Unsere Arbeiter navigieren nicht dorthin, sondern simulieren den Besuch.
gt String Ja Der öffentliche Schlüssel der Domäne, selten aktualisiert.
challenge String Ja Ändern des Token-Schlüssels. Vergewissern Sie sich, dass Sie für jedes Captcha einen neuen Schlüssel verwenden, sonst wird Ihnen die fehlerhafte Aufgabe angerechnet.
geetestApiServerSubdomain String Nein Optionale API-Subdomäne. Kann für einige Implementierungen erforderlich sein.
geetestGetLib String Nein Für einige Implementierungen erforderlich. Sendet das JSON kodiert in eine Zeichenkette. Der Wert kann in den Browser-Entwickler-Tools nachverfolgt werden. Setzen Sie einen Breakpoint vor dem Aufruf der Funktion "initGeetest".
proxyType String Ja Art des Proxy
http - gewöhnlich http/https proxy
socks4 - socks4 Proxy
socks5 - socks5 Proxy
proxyAddress String Ja Proxy-IP-Adresse ipv4/ipv6. Keine Hostnamen oder IP-Adressen aus lokalen Netzwerken.
proxyPort Integer Ja Proxy-Port
proxyLogin String Nein Login für Proxy mit erforderlicher Autorisierung (basic)
proxyPassword String Nein Proxy-Passwort
userAgent String Ja Der User-Agent des Browsers, der bei der Emulation verwendet wird. Es ist erforderlich, dass Sie eine Signatur eines modernen Browsers verwenden, andernfalls wird Google Sie auffordern, "Ihren Browser zu aktualisieren".

Anfrage-Beispiel

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"GeeTestTask",
            "websiteURL":"http://mywebsite.com/geetest/test.php",
            "gt":"874703612e5cac182812a00e273aad0d",
            "challenge":"a559b82bca2c500101a1c8a4f4204742",
            "proxyType":"http",
            "proxyAddress":"8.8.8.8",
            "proxyPort":8080,
            "proxyLogin":"proxyLoginHere",
            "proxyPassword":"proxyPasswordHere",
            "userAgent":"MODERN_USER_AGENT_HERE"
        }
}' https://api.anti-captcha.com/createTask
        

Antwort-Beispiel

JSON ohne Fehler
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON mit Fehler
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Lösung abrufen

Verwenden Sie die Methode getTaskResult, um die Lösung anzufordern. Geben Sie dem Arbeiter etwas Zeit, ca. 5 Sekunden, bevor Sie die Anfrage stellen. Falls der Arbeiter noch beschäftigt ist, warten Sie weitere 3 Sekunden.

Aufgabenlösungsobjekt

Wert Art Zweck
challenge String Hash-String, der für die Interaktion mit dem Submit-Formular auf der Ziel-Website erforderlich ist.
validate String Hash-String, der ebenfalls benötigt wird.
seccode String Eine weiterer erforderlicher Hash-String, wir haben keine Ahnung, warum es 3 davon gibt.

Antwort-Beispiel

JSON ohne Fehler
          {
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "challenge":"3c1c5153aa48011e92883aed820069f3hj",
        "validate":"47ad5a0a6eb98a95b2bcd9e9eecc8272",
        "seccode":"83fa4f2d23005fc91c3a015a1613f803|jordan"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}
        

Beispiel Token-Verwendung