> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# hCaptcha API de Reconhecimento de Imagens

> hCaptcha verification code recognition service 集成指南 - XHuoAPI

Este documento irá apresentar uma explicação sobre a integração da API de reconhecimento de imagens hCaptcha, que pode identificar o conteúdo inserido pelo usuário e a imagem do captcha hCaptcha, retornando as coordenadas da pequena imagem que precisa ser clicada para completar a verificação.

## Processo de Solicitação

Para usar a API, você precisa primeiro acessar a página correspondente da [API de Reconhecimento de Imagens hCaptcha](https://api.xhuoapi.ai/documents/c9a5cc2f-e410-425f-857a-f8700205da6c) para solicitar o serviço correspondente. Após entrar na página, clique no botão "Acquire", como mostrado na imagem:

![](https://cdn.xhuoapi.ai/q6ytrc.png)

Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, convidando-o a se registrar e fazer login. Após o registro e login, você será redirecionado de volta para a página atual.

Na primeira solicitação, haverá um crédito gratuito disponível, permitindo que você use a API sem custo.

## Uso Básico

Primeiro, entenda a forma básica de uso, que é inserir a imagem do captcha hCaptcha a ser processada para obter o resultado processado. Primeiro, você precisa passar um campo `queries`, que é a imagem do captcha hCaptcha específica. Precisamos capturar essa imagem do captcha em um site que tenha o captcha hCaptcha, o link do site de exemplo é: `https://democaptcha.com/demo-form-eng/hcaptcha.html`, clique na caixa de seleção para exibir a imagem completa do captcha, como mostrado na imagem abaixo:

<p>
  <img src="https://cdn.xhuoapi.ai/xryo59.png" width="500" className="m-auto" />
</p>

O campo `queries` é a captura da imagem do captcha mencionada acima, o tamanho da imagem não deve exceder 100kb. Você também precisa capturar a área indicada pela seta vermelha na imagem acima e deve comprimir o tamanho da imagem, além de convertê-la para codificação Base64, como mostrado na imagem abaixo:

<p>
  <img src="https://cdn.xhuoapi.ai/g8ikkb.png" width="500" className="m-auto" />
</p>

Além disso, você precisa inserir o parâmetro de conteúdo de reconhecimento relacionado à imagem do captcha `question`, que suporta tradução em chinês e inglês. Você pode inserir diretamente o conteúdo relacionado ao reconhecimento. A partir do conteúdo executado na imagem da página da web acima, podemos ver que a entrada para `question` deve ser `Please click on the UNIQUE object among the others.`. O conteúdo específico é o seguinte:

<p>
  <img src="https://cdn.xhuoapi.ai/empncr.png" width="500" className="m-auto" />
</p>

Podemos ver que configuramos os Headers da Requisição, incluindo:

* `accept`: o formato de resposta que você deseja receber, 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 Requisição, incluindo:

* `queries`: lista de imagens do captcha codificadas em Base64.
* `question`: parâmetro de conteúdo de reconhecimento relacionado à imagem do captcha, que suporta entrada direta em chinês e inglês.

Após a seleção, você pode notar que o código correspondente também foi gerado à direita, como mostrado na imagem:

<p>
  <img src="https://cdn.xhuoapi.ai/bww9b0.png" width="500" className="m-auto" />
</p>

Clique no botão "Try" para realizar o teste, como mostrado na imagem acima, e aqui obtemos o seguinte resultado:

```json theme={null}
{
  "solution": {
    "label": "Please click on the UNIQUE object among the others",
    "box": [
      "360",
      "276"
    ],
    "confidences": 0.6354503631591797
  }
}
```

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 hCaptcha.
  * `label`, o conteúdo reconhecido da imagem do captcha hCaptcha.
  * `box`, informações de localização do resultado do reconhecimento da imagem do captcha hCaptcha, que é composta pelas informações de coordenadas da imagem.
  * `confidences`, a confiança do reconhecimento da imagem do captcha hCaptcha em relação ao conteúdo reconhecido.

Podemos ver que obtivemos o resultado da verificação da imagem do captcha hCaptcha. Precisamos apenas simular um clique na área correspondente às coordenadas de `box` para passar na verificação.

A seguir, será apresentado como clicar nas informações de localização de `box` do resultado. Primeiro, estabelecemos um sistema de coordenadas retangulares para a imagem do captcha carregada, onde a origem central está no canto inferior esquerdo da imagem, 360 é a coordenada horizontal correspondente e 276 é a coordenada vertical correspondente. Precisamos apenas simular um clique nas coordenadas correspondentes do captcha, como mostrado na imagem abaixo:

<p>
  <img src="https://cdn.xhuoapi.ai/4ykvbl.png" width="500" className="m-auto" />
</p>

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:

```shell theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/captcha/recognition/hcaptcha' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "question": "Please click on the UNIQUE object among the others.",
  "queries": ["iVBORw0KGgoAAAANSU.....eY+85KVlzKHav28uq/WLVhL2kHUlFMKUcZbL31S8bpd0pEPKxNllXAE2wgu3uEfj+BfAzOGelsQNFAAAAAElFTkSuQmCC"]
}'
```

O código de integração em Python é o seguinte:

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/captcha/recognition/hcaptcha"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "question": "Please click on the UNIQUE object among the others.",
    "queries": ["iVBORw0KGgoAAAANSU.....eY+85KVlzKHav28uq/WLVhL2kHUlFMKUcZbL31S8bpd0pEPKxNllXAE2wgu3uEfj+BfAzOGelsQNFAAAAAElFTkSuQmCC"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

## Tratamento de Erros

Ao chamar a API, se ocorrer um erro, a API retornará o código de erro e a mensagem correspondente. 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

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Conclusão

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