GeeTestTask: resolvendo o Geetest
TIP
Crie a tarefa com o método createTask e obtenha o resultado com o método getTaskResult.
Os tipos de tarefa que suportamos são:
GeeTestTask
- este tipo de tarefa requer seus próprios proxies.GeeTestTaskProxyLess
- usa o proxy incorporado do servidor.
SUPORTE PARA TIPOS DE IMAGENS
Tipo | Nota | Estado |
---|---|---|
slide | stable | |
click | stable |
Criar Tarefa
Crie uma tarefa com o método createTask para criar uma tarefa.
Estrutura do Objeto da Tarefa
Propriedades | Tipo | Obrigatório | Descrição |
---|---|---|---|
type | String | Required | GeeTestTask GeeTestTaskProxyLess |
websiteURL | String | Required | Endereço web do site que utiliza o Geetest, geralmente é um valor fixo. (Ex: https://geetest.com) |
gt | String | Required | O campo gt do domínio. |
challenge | String | Required | Se você precisa resolver o Geetest V3, você deve usar este parâmetro, não é necessário se você precisa resolver o GeetestV4 |
captchaId | String | Optional | Se você precisa resolver o Geetest V4, você deve usar este parâmetro, não é necessário se você precisa resolver o GeetestV3 |
geetestApiServerSubdomain | String | Optional | Subdomínio especial da API |
proxy | String | Optional | Saiba Como usar proxies |
Exemplo de Solicitação
Exemplo de solicitação usando Geetest V3
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type":"GeeTestTaskProxyless", //Pode usar GeetestTaskProxyless ou GeetestTask
"websiteURL":"http://mywebsite.com/geetest/test.php", //Obrigatório
"gt":"874703612e5cd0d", //Obrigatório
"challenge":"", //Obrigatório
"geetestApiServerSubdomain":"", //Opcional
"proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass
"userAgent": "" //Opcional
}
}
Exemplo de Solicitação Usando Geetest V4
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type":"GeeTestTask", //Pode usar GeetestTaskProxyless ou GeetestTask
"websiteURL":"http://mywebsite.com/geetest/test.php", //Obrigatório
"captchaId": "", //Obrigatório
"geetestApiServerSubdomain":"",//Opcional
"proxy":"" //Opcional, isso é necessário se você usar GeetestTaskask
}
}
Exemplo de Resposta
{
"errorId": 0,
"status": "idle",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" // registre o taskId
}
Obtendo Resultados
Use o método getTaskResult para obter o resultado, dependendo da carga do sistema, você receberá
o resultado no intervalo de 3s
a 10s
.
Exemplo de Solicitação
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey":"YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Exemplo de Resposta
Exemplo de resposta usando GeetestV3
{
"errorId": 0,
"solution": {
"challenge": "",
"validate": ""
},
"status": "ready"
}
Exemplo de Resposta Usando GeetestV4
{
"errorId": 0,
"taskId": "e0ecaaa8-06f6-41fd-a02e-a0c79b957b15",
"status": "ready",
"solution": {
"captcha_id": "",
"captcha_output": "sW8mpqWPdtBwV4_GvgZZoTSnsoDl7xDvLHkfxhZv1QbU0HOeOXsQaBvR-S6WwY7aZ1XlgBDAXFmrtegNX2harzcq8_pVcCf1adwMgDtdJ6rBjmZs1cIgNL8okOD7Eh506ObA5u8ciBG3UehnuXMyDHAeJuiCyg
qMwFn2C8R3U5Hrgs0wiFlOvIcCjm-dBObNYuvK5m8thZvtU1xbVE8VENTwPIZaNIUGSG7ecPgKgi8=",
"gen_time": "1671687196",
"lot_number": "e5656ce24adf4ae58a5bf3f7bc847794",
"pass_token": "09dd5cbebdd738d78b3287346003c8d5cec255b97b074ed64d9009345d3eac4a",
"risk_type": "slide"
}
}
Solicitação via 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": "874703612e5cd0d",
"challenge": "",
"geetestApiServerSubdomain": "",
})
# v4
solution = capsolver.solve({
"type": "GeeTestTaskProxyLess",
"websiteURL": "http://mywebsite.com/geetest/test.php",
"captchaId": "",
"geetestApiServerSubdomain": "",
})