Scarnox · Blog

Como encontrar o sitekey de um captcha em qualquer página (4 formas)

Toda resolução de captcha começa pelo sitekey: o ID público que o site registrou no provedor de captcha. O navegador consegue vê-lo, então você também consegue. Para o PopularCaptcha, o sitekey é um UUID, como a5f74b19-9e45-40e0-b45d-47ff91b7a6c2. Outros provedores usam formatos diferentes. As chaves do Google reCAPTCHA, por exemplo, começam com 6L. Aqui estão quatro lugares para encontrá-lo, do mais fácil ao mais confiável.

A Scarnox resolve o PopularCaptcha hoje. A busca do sitekey funciona da mesma forma para qualquer captcha, então estes métodos também ajudam quando você planeja outro tipo. Outros tipos, como reCAPTCHA e Cloudflare Turnstile, estão em breve.

1. O atributo data-sitekey

Abra o DevTools (F12), vá para Elements, pressione Ctrl+F e procure por data-sitekey. A maioria dos widgets coloca a chave em um atributo assim:

<div class="h-captcha" data-sitekey="a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"></div>

Se você encontrar aqui, terminou. Copie o valor e siga para a resolução.

2. A aba Network

Se o widget for renderizado por JavaScript, o atributo pode nunca aparecer no HTML. Abra Network, recarregue a página e filtre pela requisição de configuração do widget. Para o PopularCaptcha, essa requisição normalmente se chama checksiteconfig. O sitekey é um dos parâmetros de consulta dela:

.../checksiteconfig?v=...&host=example.com&sitekey=a5f74b19-...

Filtrar pela palavra sitekey na URL da requisição também funciona, caso o nome seja diferente no site que você está testando.

3. A URL do iframe

O desafio em si é um iframe servido pelo provedor de captcha. O src dele carrega o sitekey como parâmetro. Clique com o botão direito no widget, escolha Inspecionar e leia o valor do endereço do iframe. Esse é o método mais confiável quando a página esconde o atributo do documento principal.

4. Widgets invisíveis

Um widget invisível não tem caixa de seleção. O site chama a função render() ou execute() do widget a partir do próprio código, e o sitekey é passado como argumento. Procure no JavaScript da página: abra o painel Sources e pressione Ctrl+Shift+F, depois procure por sitekey. Sitekeys invisíveis precisam da flag de invisível ao resolver. Veja resolução de captchas invisíveis.

Lendo o sitekey em um script

Se o atributo estiver no HTML bruto, um script pode lê-lo sem um navegador:

import re
import requests

html = requests.get("https://example.com/signup", timeout=30).text
m = re.search(r'data-sitekey="([^"]+)"', html)
print(m.group(1) if m else "no data-sitekey in the raw HTML")

Se isso não imprimir nada, o widget é renderizado por JavaScript. Use um navegador real, como no método da aba Network acima. Busque apenas páginas que você tem permissão para automatizar e mantenha a taxa de requisições baixa.

Qual URL vai junto?

Envie a URL da página onde o widget está como site_url. O host é o que mais importa, então https://example.com/signup é o valor a usar para um widget de cadastro. Uma requisição completa para o PopularCaptcha fica assim:

{
  "captcha_type": "PopularCaptchaTaskProxyless",
  "site_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
  "site_url": "https://example.com/signup"
}

Envie-a para https://api.scarnox.com/api/tasks/create com a sua chave no cabeçalho Authorization: Bearer. A chamada fica bloqueada até o token estar pronto, então não há uma segunda requisição para verificar o resultado.

Problemas comuns

Confirmando que você tem o sitekey certo

Uma página pode conter mais de um sitekey. Widgets de analytics, formulários de comentários e caixas de newsletter às vezes adicionam os seus próprios. Antes de resolver, confirme que o sitekey pertence ao formulário que você está automatizando. Três verificações rápidas ajudam:

As chaves também podem mudar quando um site é reimplantado. Se uma chave que funcionava ontem parar de gerar tokens aceitos, leia a página de novo antes de mudar qualquer outra coisa. Uma nova leitura não custa nada e descarta a causa mais comum de uma falha repentina.

Páginas que carregam o widget somente depois de um clique precisam de mais uma etapa. Abra a página, faça o clique que mostra o widget e só então leia o sitekey. Ler a página antes do clique não retorna nada, o que parece um widget ausente, mas na verdade é um problema de tempo. Aguarde até que um elemento que corresponda a [data-sitekey] apareça, em vez de esperar um tempo fixo.

Próximos passos

Comece com crédito de teste grátis, sem cartão: crie uma conta e teste o seu primeiro sitekey.