Skip to main content
Este documento irá apresentar uma integração da API de reconhecimento do protocolo Recaptcha2, que permite aos usuários evitar a identificação e seleção de imagens de captcha do Recaptcha2, bastando enviar a Chave do Site para realizar a decodificação automática em segundo plano e completar a verificação.

Processo de Solicitação

Para usar a API de reconhecimento do protocolo Recaptcha2, primeiro acesse o Painel de Controle da Ace Data Cloud para obter seu Token de API, que deve ser guardado para uso futuro. Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, onde será convidado a se registrar e logar; após a conclusão, você será retornado automaticamente à página atual. Um Token de API é suficiente para acessar todos os serviços da plataforma, não sendo necessário solicitar um para cada serviço individualmente. A primeira solicitação oferece um crédito gratuito, permitindo uma experiência sem custo; quando o crédito estiver baixo, você pode recarregar o saldo geral no painel de controle.
📘 Documentação Completa: API de Reconhecimento do Protocolo Recaptcha2 →

Uso Básico

Primeiro, entenda a forma básica de uso, que consiste em inserir a URL do site que precisa processar o captcha, e você poderá obter o resultado processado. Primeiro, é necessário passar um campo website_url, nosso site de exemplo é: https://www.google.com/recaptcha/api2/demo, precisamos obter a website_key na página website_url, para isso, abra esta página, pressione F12 para acessar o console e, em seguida, faça uma busca global na página Element por recaptcha-demo, e podemos obter o seguinte resultado:

A string correspondente a data-sitekey é o valor da website_key, abaixo estão os resultados dos parâmetros específicos:

Podemos ver que aqui configuramos os Cabeçalhos da Solicitação, incluindo:
  • accept: o formato de resposta desejado, aqui preenchido como application/json, ou seja, formato JSON.
  • authorization: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.
Além disso, configuramos o Corpo da Solicitação, incluindo:
  • website_url: a URL do site que precisa processar o captcha.
  • website_key: o identificador da chave do site no Recaptcha2.
Após a seleção, você pode notar que o código correspondente também foi gerado à direita, como mostrado na imagem:

Clique no botão “Try” para realizar o teste, como mostrado na imagem acima, e aqui obtivemos o seguinte resultado:
O resultado contém vários campos, conforme descrito abaixo:
  • token, o resultado da verificação após o processamento da tarefa Recaptcha2.
Podemos ver que obtivemos o resultado da verificação do Recaptcha2, que pode ser usado para enviar um POST ou simular o envio para o site de destino, sendo de uso único, com validade de 120s, recomendando-se o uso dentro de 60s. A seguir, será fornecido um trecho em Python para enviar o token processado ao site de destino para passar pela verificação do Recaptcha2. Primeiro, precisamos descobrir como o site envia a solicitação POST, para que possamos inserir o token gerado. Precisamos abrir o console F12 e realizar a verificação manualmente. Por fim, podemos ver que o site enviou uma solicitação POST. Precisamos apenas verificar a construção dessa solicitação POST. O processo específico é o seguinte:
  • Primeiro, verifique manualmente, conforme mostrado na imagem abaixo:

  • Em seguida, clique em enviar e observe as mudanças na rede do console, conforme mostrado na imagem abaixo:

  • Analise a construção da solicitação POST enviada e, por fim, clique com o botão direito nessa solicitação para copiar o código CURL, conforme mostrado na imagem abaixo:

由上图分析可知,此次POST请求的URL为:https://www.google.com/recaptcha/api2/demo,我们仅需要提交参数 g-recaptcha-response,然后我们只需要将处理后的token传入下面的data中即可,调用token进行验证的具体的CURL代码如下:
调用token验证所对应的Python代码如下:
然后我们运行后代码观察控制台变得了这样的结果:

最后我们就通过了Recaptcha2验证码的协议验证。 另外如果想生成对应的对接代码,可以直接复制生成,例如 CURL 的代码如下:
Python 的对接代码如下:

Modo Assíncrono (async)

默认情况下 API 是同步阻塞的:一次请求会一直等待,直到 token 处理完成才返回。如果你在做多打码器轮换(multi-solver rotation),希望「提交任务后立即拿到 task_id,先去调度其他打码器,稍后再回来取结果」,可以在请求体中传入 async: true 传入 async: true 后,接口会立即返回一个 task_id,而不会阻塞等待:
随后使用该 task_id 轮询 POST /captcha/tasks(建议每 3~5 秒一次)来获取结果:
处理中会返回 status: processing
处理完成会返回 status: ready 和 token:
计费说明:异步模式下,创建任务与轮询「处理中」都不计费;仅在成功取到结果时计费一次(与同步模式的价格一致)。因此在轮换中取消尚未完成的任务不会产生费用。/captcha/tasks 对所有验证码接口(token 与 recognition 系列)通用,用同一个 task_id 轮询即可。

错误处理

在调用 API 时,如果遇到错误,API 会返回相应的错误代码和信息。例如:
  • 400 token_mismatched:Bad request, possibly due to missing or invalid parameters.
  • 400 api_not_implemented:Bad request, possibly due to missing or invalid parameters.
  • 401 invalid_token:Unauthorized, invalid or missing authorization token.
  • 429 too_many_requests:Too many requests, you have exceeded the rate limit.
  • 500 api_error:Internal server error, something went wrong on the server.

错误响应示例

结论

通过本文档,您已经了解了如何使用 Recaptcha2 协议识别 API 让用户无需识别和点选 Recaptcha2 验证码图片,仅需通过提交 Website Key 即可实现后台自动解码,完成验证。希望本文档能帮助您更好地对接和使用该 API。如有任何问题,请随时联系我们的技术支持团队。