GeeTestTask: Lösung für GeeTest
TIP
Erstellen Sie die Aufgabe mit der Methode createTask und erhalten Sie das Ergebnis mit der Methode getTaskResult.
Die von uns unterstützten Aufgabentypen types
sind:
GeeTestTask
Diese Aufgabentyp erfordert Ihre eigenen Proxys.GeeTestTaskProxyLess
Verwendet den integrierten Proxy des Servers.
UNTERSTÜTZTE IMG-TYPEN
Typ | Hinweis | Zustand |
---|---|---|
slide | stabil | |
click | stabil |
Aufgabe erstellen
Erstellen Sie eine Aufgabe mit der Methode createTask.
Struktur des Aufgabenobjekts
Eigenschaften | Typ | Erforderlich | Beschreibung |
---|---|---|---|
type | String | Required | GeeTestTask GeeTestTaskProxyLess |
websiteURL | String | Required | Webadresse der Website, die Geetest verwendet. Normalerweise handelt es sich um einen festen Wert. (z. B. https://geetest.com) |
gt | String | Required | Das Feld gt der Domain. |
challenge | String | Required | Wenn Sie Geetest V3 lösen müssen, müssen Sie diesen Parameter verwenden. Er ist nicht erforderlich, wenn Sie Geetest V4 lösen möchten. |
captchaId | String | Optional | Wenn Sie Geetest V4 lösen müssen, müssen Sie diesen Parameter verwenden. Er ist nicht erforderlich, wenn Sie Geetest V3 lösen möchten. |
geetestApiServerSubdomain | String | Optional | Spezielle API-Subdomain |
proxy | String | Optional | Erfahren Sie mehr unter Verwendung von Proxys |
Beispielanfrage
Beispielanfrage unter Verwendung von Geetest V3
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type":"GeeTestTaskProxyless", // Kann GeetestTaskProxyless oder GeetestTask verwendet werden
"websiteURL":"http://meinewebsite.com/geetest/test.php", // Erforderlich
"gt":"874703612e5cd0d", // Erforderlich
"challenge":"", // Erforderlich
"geetestApiServerSubdomain":"", // Optional
"proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass
"userAgent": "" // Optional
}
}
Beispielanfrage unter Verwendung von Geetest V4
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type":"GeeTestTask", // Kann GeetestTask oder GeetestTaskProxyless verwendet werden
"websiteURL":"http://meinewebsite.com/geetest/test.php", // Erforderlich
"captchaId": "", // Erforderlich
"geetestApiServerSubdomain":"", // Optional
"proxy":"" // Optional, erforderlich, wenn Sie GeetestTask verwenden
}
}
Beispielantwort
{
"errorId": 0,
"status": "idle",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" // Aufgaben-ID merken
}
Ergebnis abrufen
Verwenden Sie die Methode getTaskResult, um das Ergebnis abzurufen. Je nach Auslastung des Systems erhalten Sie das Ergebnis im Intervall von 3s
bis 10s
.
Beispielanfrage
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey":"YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Beispielantwort
Beispielantwort unter Verwendung von GeetestV3
{
"errorId": 0,
"solution": {
"challenge": "",
"validate": ""
},
"status": "ready"
}
Beispielantwort unter Verwendung von GeetestV4
{
"errorId": 0,
"taskId": "e0ecaaa8-06f6-41fd-a02e-a0c79b957b15",
"status": "ready",
"solution": {
"captcha_id": "",
"captcha_output": "sW8mpqWPdtBwV4_GvgZZoTSnsoDl7xDvLHkfxhZv1QbU0HOeOXs
QaBvR-S6WwY7aZ1XlgBDAXFmrtegNX2harzcq8_pVcCf1adwMgDtdJ6rBjmZs1cIgNL8okOD7Eh506ObA5u8ciBG3UehnuXMyDHAeJuiCygqMwFn2C8R3U5Hrgs0wiFlOvIcCjm-dBObNYuvK5m8thZvtU1xbVE8VENTwPIZaNIUGSG7ecPgKgi8=",
"gen_time": "1671687196",
"lot_number": "e5656ce24adf4ae58a5bf3f7bc847794",
"pass_token": "09dd5cbebdd738d78b3287346003c8d5cec255b97b074ed64d9009345d3eac4a",
"risk_type": "slide"
}
}
Verwendung von SDK-Anfragen
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
# V3
solution = capsolver.solve({
"type": "GeeTestTaskProxyLess",
"websiteURL": "http://meinewebsite.com/geetest/test.php",
"gt": "874703612e5cd0d",
"challenge": "",
"geetestApiServerSubdomain": "",
})
# V4
solution = capsolver.solve({
"type": "GeeTestTaskProxyLess",
"websiteURL": "http://meinewebsite.com/geetest/test.php",
"captchaId": "",
"geetestApiServerSubdomain": "",
})
package main
import (
"fmt"
capsolver_go "github.com/capsolver/capsolver-go"
"log"
)
func main() {
// Installieren Sie zuerst das SDK
// go get github.com/capsolver/capsolver-go
// export CAPSOLVER_API_KEY='...' oder
//capSolver := CapSolver{ApiKey:"..."}
capSolver := capsolver_go.CapSolver{}
// V3
solution, err := capSolver.Solve(map[string]any{
"type": "GeeTestTask", //GeeTestTask,GeeTestTaskProxyLess
"websiteURL": "http://meinewebsite.com/geetest/test.php",
"gt": "874703612e5cd0d",
"challenge": "",
"geetestApiServerSubdomain": "",
"proxy": "",
})
if err != nil {
log.Fatal(err)
return
}
fmt.Println(solution)
//V4
solution, err = capSolver.Solve(
map[string]any{
"type": "GeeTestTask",
"websiteURL": "http://meinewebsite.com/geetest/test.php",
"websiteKey": "",
"cptchaId": "12310989asdf",
"geetestApiServerSubdomain": "",
})
if err != nil {
log.Fatal(err)
}
}
Zu beachtende Punkte
Kopieren Sie die Daten nicht direkt aus den Entwicklertools des Browsers. Holen Sie sich GT und Challenge aus der Anfrage.
Bei einer geringen Anzahl von Fehlern bei der erneuten Abfrage der Parameter für den Sicherheitscode kann ein erneuter Versuch unternommen werden.
Die Parameter für den Sicherheitscode können nur einmal zur Identifizierung übermittelt werden. Wiederholen Sie nicht die Identifizierung mit denselben Parametern. Initialisieren Sie die Erfassung erneut.
Hinweis: Wenn Sie den Sicherheitscode nicht bestehen können, kann dies an Codierungsproblemen auf der Website liegen. In diesem Fall ersetzen Sie das CAPTCHA-Zeichen "=" durch %3D. Andernfalls ist keine Codierung erforderlich. Beachten Sie dies bitte.
Informationen zu Testservern finden Sie im Geetest-Dokument.