GeeTestTask : résoudre Geetest
Créez la tâche avec la méthode createTask et obtenez le résultat avec la méthode getTaskResult.
Les types de tâches types que nous supportons :
GeeTestTaskProxyLess
TYPES D’IMAGES SUPPORTÉS
| Type | Note | État | 
|---|---|---|
![]()  | slide | stable | 
| icon click | stable | |
![]()  | icon crush | stable | 
![]()  | nine | stable | 
![]()  | gobang | stable | 
Créer une tâche
Créez une tâche avec createTask pour créer une tâche.
Structure de l’objet tâche
| Propriétés | Type | Requis | Description | 
|---|---|---|---|
| type | String | Requis | GeeTestTaskProxyLess | 
| websiteURL | String | Requis | Adresse web du site utilisant geetest (Ex : https://geetest.com) | 
| gt | String | Requis | Seulement Geetest V3 est requis | 
| challenge | String | Requis | Seulement Geetest V3 est requis | 
| captchaId | String | Optionnel | Seulement Geetest V4 est requis | 
| geetestApiServerSubdomain | String | Optionnel | Sous-domaine d’API spécial, exemple : api.geetest.com | 
Exemple de requête
Exemple de requête utilisant 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
    }
}Exemple de requête utilisant 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": "..."
    }
}Exemple de réponse
{
    "errorId": 0,
    "status": "idle",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}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 requête
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
 
{
    "clientKey":"YOU_API_KEY",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}Exemple de réponse
Exemple de réponse utilisant GeetestV3
{
  "errorId": 0,
  "solution": {
    "challenge": "",
    "validate": ""
  },
  "status": "ready"
}Exemple de réponse utilisant 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"
  }
}Utiliser la requête SDK
# 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": "..."
})Exemple de code
# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # TODO: your api key of capsolver
 
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": 'GeeTestTaskProxyLess',
            "websiteURL": "https://mywebsite.com/geetest/test.php",  # page url of your site
            "gt": "...",  # v3 is required
            "challenge":   "...",  # v3 is required
            "captchaId":   "...",  # v4 is required
        }
    }
    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)  # delay
        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)Points à noter
- 
Veuillez ne pas copier directement de l’outil de développement du navigateur, récupérez GT et challenge sur demande.
 - 
Un petit nombre d’erreurs pour réobtenir les paramètres du code de vérification peuvent être réessayées.
 - 
Les paramètres du code de vérification ne peuvent être soumis pour identification qu’une seule fois, ne soumettez pas les mêmes paramètres plusieurs fois pour identifier, il faut réinitialiser l’acquisition.
 - 
Remarque : Si vous ne pouvez pas passer le site, il peut s’agir de problèmes d’encodage. Dans ce cas, remplacez le symbole
=du CAPTCHA par%3D, les autres sans encodage, veuillez en prendre note. - 
Les paramètres tels que le serveur de test peuvent être consultés ici dans le document Geetest.
 



