Menu da documentação

GeeTestTask: resolve o captcha do geetest.com com proxy

Esse tipo de tarefa resolve o captcha GeeTest nos navegadores de nossos workers. Seu app envia o endereço do website, gt key, chave do desafio, e após a finalização da tarefa recebe uma solução formada por 3 tokens.

Exemplos

Objeto da tarefa

Propriedade Tipo Obrigatório Motivo
type String Sim GeeTestTask
websiteURL String Sim Endereço de uma página web de interesse. Pode estar localizado em qualquer lugar no website, até mesmo na área de membro. Nossos workers não navegam em tais lugares, mas simulam a visita.
gt String Sim A chave pública de domínio, raramente atualizada.
challenge String Sim Chave de token mutável. Tenha certeza de pegar uma nova para cada captcha, caso contrário você será cobrado pela tarefa com erro.
geetestApiServerSubdomain String Não Subdomínio de API opcional. Pode ser obrigatório para algumas implementações.
geetestGetLib String Não Obrigatória para algumas implementações. Envie o JSON codificado em string. O valor pode ser descoberto nas ferramentas de desenvolvedor no navegador. Coloque um ponto de interrupção antes da chamada da função "initGeetest".
proxyType String Sim Tipo do proxy
http - proxy http/https comum
socks4 - proxy socks4
socks5 - proxy socks5
proxyAddress String Sim Endereço de IP ipv4/ipv6 do proxy. Nenhum nome de host ou endereço de IP de redes locais.
proxyPort Inteiro Sim Porta do proxy
proxyLogin String Não Login para o proxy que precisa de autorização (básico)
proxyPassword String Não Senha do proxy
userAgent String Sim O Agente de Usuário do navegador que é utilizado na emulação. É necessário que você use uma assinatura de um navegador moderno, caso contrário, o Google vai pedir que você "atualize seu navegador".

Exemplo de solicitação

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"GeeTestTask",
            "websiteURL":"http://mywebsite.com/geetest/test.php",
            "gt":"874703612e5cac182812a00e273aad0d",
            "challenge":"a559b82bca2c500101a1c8a4f4204742",
            "proxyType":"http",
            "proxyAddress":"8.8.8.8",
            "proxyPort":8080,
            "proxyLogin":"proxyLoginHere",
            "proxyPassword":"proxyPasswordHere",
            "userAgent":"MODERN_USER_AGENT_HERE"
        }
}' https://api.anti-captcha.com/createTask
        

Exemplo de resposta

JSON sem erros
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON com um erro
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Obter a solução

Use o método getTaskResult para solicitar a solução. Dê um tempo para o worker, como 5 segundos, antes de fazer a primeira solicitação. Se o worker ainda estiver ocupado, tente novamente em 3 segundos.

Objeto de solução de tarefa

Propriedade Tipo Motivo
challenge String String em hash necessária pela interação com o formulário de envio no website de interesse.
validate String String em hash necessária também.
seccode String Outra string em hash necessária, não temos ideia por que existem 3 delas.

Exemplo de resposta

JSON sem erros
          {
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "challenge":"3c1c5153aa48011e92883aed820069f3hj",
        "validate":"47ad5a0a6eb98a95b2bcd9e9eecc8272",
        "seccode":"83fa4f2d23005fc91c3a015a1613f803|jordan"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}
        

Exemplo de uso de token