Skip to main content
Este documento apresentará uma instrução de integração da API de Reconhecimento de Imagem Recaptcha2, que pode identificar o conteúdo inserido pelo usuário e a imagem do captcha Recaptcha2, retornando as coordenadas das pequenas imagens que precisam ser clicadas para completar a verificação.

Processo de Solicitação

Para usar a API de Reconhecimento de Imagem 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á redirecionado de volta para a 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 para que você possa experimentar; quando o crédito acabar, você pode recarregar o saldo geral no painel de controle.
📘 Documentação Completa: API de Reconhecimento de Imagem Recaptcha2 →

Uso Básico

Primeiro, vamos entender a forma básica de uso. Precisamos capturar a imagem do captcha Recaptcha2 do site. O URL do site de exemplo é: https://www.google.com/recaptcha/api2/demo, a página específica é mostrada na imagem abaixo:

Precisamos clicar na caixa de seleção do captcha para que a imagem do captcha apareça. Na imagem acima, a seta amarela aponta para um texto, que é o valor do question mencionado a seguir. Primeiro, precisamos passar um campo image, que é a imagem específica do captcha Recaptcha2, indicada pela seta vermelha na imagem acima. Além disso, a imagem deve ser redimensionada para um tamanho padrão (100x100, 300x300, 450x450), para que o serviço possa determinar o tipo de imagem. A compressão da imagem deve ser feita por você mesmo. Este documento recomenda um site de compressão, onde você pode ajustar as dimensões e o tamanho da imagem. O resultado da compressão é mostrado na imagem abaixo: Além disso, é necessário inserir o parâmetro de conteúdo de reconhecimento relacionado à imagem do captcha, question. Abaixo, fornecemos uma tabela de conteúdo como referência:

Tabela de Conteúdo em Chinês

Tabela de Conteúdo em Inglês

Como mencionado acima, definimos o parâmetro question como o correspondente ao hidrante de incêndio /m/01pns0, com o conteúdo específico mostrado abaixo:

Podemos ver que aqui configuramos os Cabeçalhos da Solicitação, incluindo:
  • accept: o formato de resposta desejado, que deve ser 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:
  • image: a imagem do captcha codificada em Base64.
  • question: ID da pergunta, consulte a tabela, começando com /m/.
Após a seleção, podemos ver que o código correspondente foi gerado à direita, como mostrado na imagem abaixo:

Clique no botão “Try” para realizar o teste, como mostrado na imagem acima, e obtivemos o seguinte resultado:
O resultado retornado contém vários campos, descritos a seguir:
  • solution, o resultado da verificação após o processamento da imagem do captcha Recaptcha2.
    • size, o tamanho da imagem do captcha Recaptcha2.
    • label, o conteúdo reconhecido da imagem do captcha Recaptcha2.
    • confidences, a confiança nas áreas de reconhecimento da imagem do captcha Recaptcha2, começando do 0.
    • objects, as áreas que atendem ao conteúdo reconhecido da imagem do captcha Recaptcha2, começando do 0.
    • type, o tipo da tarefa da imagem do captcha Recaptcha2, sendo multi quando há várias áreas.
  • started_at, finished_at: os tempos de início e término do processamento desta solicitação, em timestamp Unix (segundos, ponto flutuante).
  • elapsed: o tempo total gasto no processamento (segundos).
Podemos ver que obtivemos o resultado da verificação da imagem do captcha Recaptcha2. Primeiro, dividimos a imagem do captcha em áreas, como mostrado na imagem abaixo:

Podemos ver que as áreas começam do 0. A partir do resultado, em objects, obtemos 2, 5, 7, e precisamos simular cliques nessas três áreas do captcha para passar a verificação. Além disso, se você quiser gerar o código de integração correspondente, pode copiá-lo diretamente, por exemplo, o código CURL é o seguinte:
O código de integração em Python é o seguinte:

Modo assíncrono (async)

Por padrão, a API é bloqueante e síncrona: uma solicitação aguardará até que o resultado do reconhecimento seja processado antes de retornar. Se você estiver fazendo rotação de múltiplos solucionadores (multi-solver rotation) e desejar “enviar a tarefa e imediatamente obter o task_id, ir agendar outros solucionadores e voltar mais tarde para ler o resultado”, você pode passar async: true no corpo da solicitação. Ao passar async: true, a interface retornará imediatamente um task_id, sem bloquear a espera:
Para verificar o progresso ativamente, você pode usar esse task_id para consultar POST /captcha/tasks (recomendado a cada 3~5 segundos). Esta interface não acionará ou avançará o processamento da tarefa; mesmo que você não consulte, perca a conexão ou saia do cliente, o servidor continuará processando:
Durante o processamento, retornará status: processing:
Quando o processamento for concluído, retornará status: ready e o resultado do reconhecimento solution (a estrutura do campo é idêntica à do modo síncrono):
Descrição da cobrança: no modo assíncrono, a criação de tarefas e a leitura do status “processando” não são cobradas; a cobrança ocorre uma vez quando o cliente lê o resultado com sucesso pela primeira vez (consistente com o comportamento atual e o preço do modo síncrono). O servidor avançará a tarefa por conta própria, mas não cobrará antecipadamente porque o processamento foi concluído no backend. Se a tarefa não for bem-sucedida em 120 segundos, será encerrada com HTTP 504 timeout, sem cobrança. /captcha/tasks não é responsável por avançar a tarefa.

Tratamento de erros

Ao chamar a API, se ocorrer um erro, a API retornará o código e a mensagem de erro correspondentes. Por exemplo:
  • 400 token_mismatched: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 400 api_not_implemented: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 401 invalid_token: Não autorizado, token de autorização inválido ou ausente.
  • 429 too_many_requests: Muitas solicitações, você excedeu o limite de taxa.
  • 500 api_error: Erro interno do servidor, algo deu errado no servidor.

Exemplo de resposta de erro

Conclusão

Através deste documento, você já entendeu como usar a API de reconhecimento de imagem Recaptcha2 para permitir que os usuários insiram o conteúdo reconhecido e a imagem do captcha Recaptcha2, retornando finalmente as coordenadas da pequena imagem que precisa ser clicada para completar a verificação. Esperamos que este documento possa ajudá-lo a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.