Guía
Tarea (Token)
Geetest

GeeTestTask: resolviendo Geetest

TIP

Crea la tarea con el método createTask y obtén el resultado con el método getTaskResult.

Los tipos de tareas types que admitimos son:

  • GeeTestTask este tipo de tarea requiere tus propios proxies.
  • GeeTestTaskProxyLess utiliza el proxy incorporado del servidor.

SOPORTE PARA TIPOS DE IMG

TipoNotaEstado
img.pngslidestable
img_2.pngclickstable

Crear Tarea

Crea una tarea con el createTask para crear una tarea.

Estructura del objeto de tarea

PropiedadesTipoRequeridoDescripción
typeStringRequiredGeeTestTask
GeeTestTaskProxyLess
websiteURLStringRequiredDirección web del sitio web que utiliza Geetest, generalmente es un valor fijo. (Ejemplo: https://geetest.com)
gtStringRequiredEl campo gt de dominio.
challengeStringRequiredSi necesitas resolver Geetest V3, debes usar este parámetro, no es necesario si necesitas resolver Geetest V4.
captchaIdStringOptionalSi necesitas resolver Geetest V4, debes usar este parámetro, no es necesario si necesitas resolver Geetest V3.
geetestApiServerSubdomainStringOptionalSubdominio especial de la API.
proxyStringOptionalAprende Cómo usar proxies

Ejemplo de solicitud

Ejemplo de solicitud utilizando Geetest V3

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type":"GeeTestTaskProxyless", // Puedes usar GeetestTaskProxyless o GeeTestTask
        "websiteURL":"http://miweb.com/geetest/test.php",  // Requerido
        "gt":"874703612e5cd0d", // Requerido
        "challenge":"", // Requerido
        "geetestApiServerSubdomain":"",  // Opcional
         "proxy": "http:ip:port:user:pass" // socks5:ip:port:user:pass
        "userAgent": "" // Opcional
    }
}

Ejemplo de solicitud utilizando Geetest V4

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type":"GeeTestTask", // Puedes usar GeetestTaskProxyless o GeeTestTask
        "websiteURL":"http://miweb.com/geetest/test.php",  // Requerido
        "captchaId": "", // Requerido
        "geetestApiServerSubdomain":"",// Opcional
        "proxy":"" // Opcional, esto es requerido si usas GeeTestTask
    }
}

Ejemplo de respuesta

{
    "errorId": 0,
    "status": "idle",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" // registra el taskId
}

Obteniendo Resultados

Utiliza el método getTaskResult para obtener el resultado. Dependiendo de la carga del sistema, obtendrás el resultado en un intervalo de 3s a 10s.

Ejemplo de solicitud

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
 
{
    "clientKey":"YOUR_API_KEY",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Ejemplo de respuesta

Ejemplo de respuesta utilizando GeetestV3

{
  "errorId": 0,
  "solution": {
    "challenge": "",
    "validate": ""
  },
  "status": "ready"
}

Ejemplo de respuesta utilizando 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"
  }
}

Solicitud de SDK

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
# capsolver.api_key = "..."
# v3
solution = capsolver.solve({
    "type": "GeeTestTaskProxyLess",
    "websiteURL": "http://miweb.com/geetest/test.php",
    "gt": "874703612e5cd0d",
    "challenge": "",
    "geetestApiServerSubdomain": "",
})
 
# v4
solution = capsolver.solve({
    "type": "GeeTestTaskProxyLess",
    "websiteURL": "http://miweb.com/geetest/test.php",
    "captchaId": "",
    "geetestApiServerSubdomain": "",
})