GeeTestTask : résolution de GeeTest
TIP
Créez la tâche avec la méthode createTask et obtenez les résultats avec la méthode getTaskResult.
Les types de tâches que nous prenons en charge :
GeeTestTask
ce type de tâche nécessite vos propres proxies.GeeTestTaskProxyLess
utilise le proxy intégré du serveur.
SUPPORT IMG TYPES
Type | Note | État |
---|---|---|
glisser | stable | |
cliquer | stable |
Création de la tâche
Créez une tâche avec la méthode createTask pour créer une tâche.
Structure de l'objet de la tâche
Propriétés | Type | Requis | Description |
---|---|---|---|
type | String | Required | GeeTestTask GeeTestTaskProxyLess |
websiteURL | String | Required | Adresse Web du site utilisant Geetest, généralement c'est une valeur fixe. (Ex : https://geetest.com) |
gt | String | Required | Le champ de domaine gt. |
challenge | String | Required | Si vous devez résoudre Geetest V3, vous devez utiliser ce paramètre, inutile si vous devez résoudre GeetestV4 |
captchaId | String | Optional | Si vous devez résoudre Geetest V4, vous devez utiliser ce paramètre, inutile si vous devez résoudre GeetestV3 |
geetestApiServerSubdomain | String | Optional | Sous-domaine API spécial |
proxy | String | Optional | Apprenez comment utiliser les proxies |
Exemple de demande
Exemple de demande en utilisant Geetest V3
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type":"GeeTestTaskProxyless", //Peut utiliser GeeTestTaskProxyless ou GeeTestTask
"websiteURL":"http://monsiteweb.com/geetest/test.php", //Requis
"gt":"874703612e5cd0d", //Requis
"challenge":"", //Requis
"geetestApiServerSubdomain":"", //Optionnel
"proxy": "http:ip:port:user:pass" // socks5:ip:port:user:pass
"userAgent": "" //Optionnel
}
}
Exemple de demande en utilisant Geetest V4
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type":"GeeTestTask", //Peut utiliser GeeTestTaskProxyless ou GeeTestTask
"websiteURL":"http://monsiteweb.com/geetest/test.php", //Requis
"captchaId": "", //Requis
"geetestApiServerSubdomain":"",//Optionnel
"proxy":"" //Optionnel, c'est nécessaire si vous utilisez GeetestTaskask
}
}
Exemple de réponse
{
"errorId": 0,
"status": "idle",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" // enregistrez taskId
}
Obtenir le résultat
Utilisez getTaskResult pour obtenir le résultat. Selon la charge du système, vous obtiendrez le résultat dans un intervalle de 3s
à 10s
.
Exemple de demande
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey":"YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Exemple de réponse
Exemple de réponse en utilisant GeetestV3
{
"errorId": 0,
"solution": {
"challenge": "",
"validate": ""
},
"status": "ready"
}
Exemple de réponse en utilisant GeetestV4
{
"errorId": 0,
"taskId": "e0ecaaa8-06f6-41fd-a02e-a0c79b957b15",
"status": "ready",
"solution": {
"captcha_id": "",
"captcha_output": "sW8mpqWPdtBwV4_GvgZZoTSnsoDl7xDvLHkfxhZv1QbU0HOeOXsQaBvR-S6WwY7aZ1XlgBDAXFmrtegNX2harzcq8_pVcCf1adwMgDtdJ6rBjmZs1cIgNL8okOD7Eh
506ObA5u8ciBG3UehnuXMyDHAeJuiCygqMwFn2C8R3U5Hrgs0wiFlOvIcCjm-dBObNYuvK5m8thZvtU1xbVE8VENTwPIZaNIUGSG7ecPgKgi8=",
"gen_time": "1671687196",
"lot_number": "e5656ce24adf4ae58a5bf3f7bc847794",
"pass_token": "09dd5cbebdd738d78b3287346003c8d5cec255b97b074ed64d9009345d3eac4a",
"risk_type": "slide"
}
}
Utilisation de la demande SDK
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
# v3
solution = capsolver.solve({
"type": "GeeTestTaskProxyLess",
"websiteURL": "http://monsiteweb.com/geetest/test.php",
"gt": "874703612e5cd0d",
"challenge": "",
"geetestApiServerSubdomain": "",
})
# v4
solution = capsolver.solve({
"type": "GeeTestTaskProxyLess",
"websiteURL": "http://monsiteweb.com/geetest/test.php",
"captchaId": "",
"geetestApiServerSubdomain": "",
})
package main
import (
"fmt"
capsolver_go "github.com/capsolver/capsolver-go"
"log"
)
func main() {
// first you need to install sdk
//go get github.com/capsolver/capsolver-go
//export CAPSOLVER_API_KEY='...' or
//capSolver := CapSolver{ApiKey:"..."}
capSolver := capsolver_go.CapSolver{}
// v3
solution, err := capSolver.Solve(map[string]any{
"type": "GeeTestTask", //GeeTestTask,GeeTestTaskProxyLess
"websiteURL": "http://monsiteweb.com/geetest/test.php",
"gt": "",
"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://monsiteweb.com/geetest/test.php",
"websiteKey": "",
"cptchaId": "",
"geetestApiServerSubdomain": "",
})
if err != nil {
log.Fatal(err)
}
}
Points à noter
Veuillez ne pas copier directement depuis l'outil de développement du navigateur, OBTENEZ GT et challenge sur la requête.
Un petit nombre d'erreurs pour réobtenir les paramètres du code de vérification peut être réessayé.
Les paramètres du code de vérification ne peuvent être soumis qu'une seule fois pour l'identification, ne soumettez pas les mêmes paramètres pour l'identification, vous devez réinitialiser l'acquisition.
Remarque : Si vous ne pouvez pas passer le site, cela peut être dû à des problèmes de codage, alors le symbole CAPTCHA
=
avec le remplacement % 3D, autre sans codage, veuillez noter cela.Les paramètres tels que le serveur de test peuvent être consultés ici dans le Geetest document.