Scarnox · Blog

Captcha GeeTest explicado: como funciona e como resolver

O GeeTest é um fornecedor de captcha cujos widgets pedem ao visitante uma tarefa visual: arrastar uma peça de quebra-cabeça até um encaixe, clicar em um conjunto de ícones em uma ordem específica ou seguir um pequeno movimento de slider. É comum em sites de e-commerce, páginas de login e backends de aplicativos em várias regiões. Também é uma das famílias de captcha que a Scarnox ainda não resolve. Este guia explica como o GeeTest funciona, por que automatizá-lo é mais difícil do que um widget baseado em token, quais abordagens as pessoas usam em geral e qual é o status do suporte da Scarnox hoje.

O que o GeeTest faz em uma página

Um captcha GeeTest normalmente carrega em três etapas:

  1. A página inclui o script do GeeTest e cria um widget com um ID de captcha. Em muitas integrações, esse ID é passado como um parâmetro chamado gt.
  2. O widget pede ao servidor do GeeTest um desafio novo. O desafio inclui um valor challenge e as imagens ou posições das peças necessárias para o puzzle.
  3. Quando o visitante termina a tarefa, o widget envia o resultado de volta ao site. O backend do site então verifica esse resultado com o fornecedor do captcha antes de aceitar o formulário.

A terceira etapa é a mais importante. Um valor com aparência plausível não basta, porque o servidor verifica um resultado que está vinculado a um desafio específico e expira. Por isso um valor copiado de outra sessão falha, e reproduzir um resultado antigo não funciona.

Por que o GeeTest é mais difícil que um widget de token

Com o PopularCaptcha, a página precisa de uma única string de token, e uma única requisição devolve essa string. O GeeTest é diferente em três pontos:

Por isso, resolver o GeeTest é um trabalho de várias etapas: buscar o desafio, localizar os alvos na imagem, gerar um movimento, enviá-lo e ler o veredito. Cada etapa pode falhar, e o desafio expira se você esperar demais entre elas.

Abordagens gerais

Quem automatiza páginas com GeeTest geralmente usa uma de três abordagens. Nenhuma é um atalho, e cada uma tem custos:

Seja qual for a escolha, mantenha o escopo honesto: automatize fluxos que você possui, ambientes de teste que tem permissão para usar ou dados públicos que tem permissão para coletar.

Encontrando o ID do captcha

Você não precisa de código para começar. Abra o DevTools, recarregue a página e procure por geetest ou gt na aba Network. A primeira requisição que carrega o widget normalmente mostra o ID do captcha. Um pequeno script pode registrá-lo, o que é útil quando você quer perceber quando uma página muda o seu widget:

import re
import requests

html = requests.get("https://example.com/login", timeout=30).text
match = re.search(r"gt['\"]?\s*[:=]\s*['\"]([a-f0-9]{32})['\"]", html)
print("captcha id:", match.group(1) if match else "not found")

O padrão acima procura um valor hexadecimal de 32 caracteres ao lado de gt. Os fornecedores mudam a marcação com frequência, então trate-o como um ponto de partida e confira a saída na página que você está testando.

Onde está o suporte da Scarnox

Seja claro sobre isso quando planejar um projeto:

Se o seu projeto precisa do GeeTest agora, o caminho prático é construir você mesmo as etapas de navegador e de imagem para as páginas que tem permissão para testar, e manter o seu código pronto para trocar para uma API quando o suporte for lançado. Enquanto isso, você pode criar uma conta e começar com crédito de teste grátis, sem cartão. Isso lhe dá um fluxo funcional com PopularCaptcha para testar e um lugar para encaixar o GeeTest depois. Para os valores atuais, veja os preços atuais.

Usos legítimos

Não use a automação de captcha para criar contas falsas, atacar um formulário de login ou comprar estoque limitado. Esses usos violam as regras da maioria dos sites e não são algo que a Scarnox suporta.

Próximos passos