GeeTestTask: Geetest lösen
Erstellen Sie die Aufgabe mit der Methode createTask und erhalten Sie das Ergebnis mit der Methode getTaskResult.
Die von uns unterstützten Aufgabentypen types
:
GeeTestTaskProxyLess
UNTERSTÜTZTE BILDTYPEN
Typ | Hinweis | Status |
---|---|---|
![]() | Schieberegler | stabil |
![]() | Symbolklick | stabil |
![]() | Symbol zertrümmern | stabil |
![]() | Neunfelder | stabil |
![]() | Gobang | stabil |
Aufgabe erstellen
Erstellen Sie eine Aufgabe mit createTask.
Struktur des Aufgabenobjekts
Eigenschaften | Typ | Erforderlich | Beschreibung |
---|---|---|---|
type | String | Erforderlich | GeeTestTaskProxyLess |
websiteURL | String | Erforderlich | Webadresse der Website, die Geetest verwendet (Bsp: https://geetest.com) |
gt | String | Erforderlich | Nur für Geetest V3 erforderlich |
challenge | String | Erforderlich | Nur für Geetest V3 erforderlich |
captchaId | String | Optional | Nur für Geetest V4 erforderlich |
geetestApiServerSubdomain | String | Optional | Spezielles API-Subdomain, Beispiel: api.geetest.com |
Beispielanfrage
Beispielanfrage für Geetest V3
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type":"GeetestTaskProxyless",
"websiteURL":"https://mywebsite.com/geetest/test.php",
"gt":"",
"challenge":"",
"geetestApiServerSubdomain":"api.geetest.com" // Optional
}
}
Beispielanfrage für Geetest V4
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type":"GeetestTaskProxyless",
"websiteURL":"https://mywebsite.com/geetest/test.php",
"captchaId": "..."
}
}
Beispielantwort
{
"errorId": 0,
"status": "idle",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Ergebnis abrufen
Verwenden Sie die Methode getTaskResult, um das Ergebnis abzurufen. Abhängig von der Systemauslastung erhalten Sie
das Ergebnis innerhalb eines Intervalls von 3s
bis 10s
.
Beispielanfrage
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey":"YOU_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Beispielantwort
Beispielantwort für GeetestV3
{
"errorId": 0,
"solution": {
"challenge": "",
"validate": ""
},
"status": "ready"
}
Beispielantwort für GeetestV4
{
"errorId": 0,
"taskId": "e0ecaaa8-06f6-41fd-a02e-a0c79b957b15",
"status": "ready",
"solution": {
"captcha_id": "",
"captcha_output": "",
"gen_time": "",
"lot_number": "",
"pass_token": "",
"risk_type": "slide"
}
}
SDK-Anfrage verwenden
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
capsolver.api_key = "..."
# v3
solution = capsolver.solve({
"type": "GeeTestTaskProxyLess",
"websiteURL": "http://mywebsite.com/geetest/test.php",
"gt": "...",
"challenge": "..."
})
# v4
solution = capsolver.solve({
"type": "GeeTestTaskProxyLess",
"websiteURL": "http://mywebsite.com/geetest/test.php",
"captchaId": "..."
})
Beispielcode
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # TODO: Ihr API-Schlüssel für Capsolver
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'GeeTestTaskProxyLess',
"websiteURL": "https://mywebsite.com/geetest/test.php", # URL der Seite Ihrer Website
"gt": "...", # V3 ist erforderlich
"challenge": "...", # V3 ist erforderlich
"captchaId": "...", # V4 ist erforderlich
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Failed to create task:", res.text)
return
print(f"Got taskId: {task_id} / Getting result...")
while True:
time.sleep(1) # Verzögerung
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution")
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
solution = capsolver()
print(solution)
Hinweise
-
Bitte nicht direkt aus dem Browser-Entwicklertool kopieren, sondern GT und Challenge bei der Anfrage abrufen.
-
Bei einer geringen Anzahl von Fehlern beim erneuten Abrufen der Verifizierungscode-Parameter kann ein erneuter Versuch unternommen werden.
-
Verifizierungscode-Parameter können nur einmal zur Identifizierung übermittelt werden. Übermitteln Sie nicht dieselben Parameter wiederholt zur Identifizierung, sondern müssen die Erfassung neu initialisieren.
-
Hinweis: Wenn Sie die Website nicht passieren können, liegt dies möglicherweise an Kodierungsproblemen. Ersetzen Sie dann das CAPTCHA
=
Symbol durch %3D, andere Zeichen nicht kodieren, bitte beachten Sie dies.
5Parameter wie der Testserver können hier im Geetest-Dokument abgefragt werden.