Menu da documentação

GeeTestTaskProxyless: resolve o captcha da geetest.com sem 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.

Tudo é parecido com o GeeTestTask, exceto que nós não necessitamos de proxy e o resolvemos de nossos próprios endereços de IP.

Exemplos

Objeto da tarefa

Propriedade Tipo Obrigatório Motivo
type String Sim GeeTestTaskProxyless
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".

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":"GeeTestTaskProxyless",
            "websiteURL":"http://mywebsite.com/geetest/test.php",
            "gt":"874703612e5cac182812a00e273aad0d",
            "challenge":"a559b82bca2c500101a1c8a4f4204742"
        }
}' 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