> ## 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 do rozpoznawania obrazów - instrukcja integracji

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

W niniejszym dokumencie przedstawiono instrukcję integracji API do rozpoznawania obrazów hCaptcha, która umożliwia identyfikację treści wprowadzonych przez użytkownika oraz obrazów z kodem weryfikacyjnym hCaptcha, a na końcu zwraca współrzędne małego obrazu, który należy kliknąć, aby zakończyć weryfikację.

## Proces aplikacji

Aby skorzystać z API, należy najpierw przejść do odpowiedniej strony [API do rozpoznawania obrazów hCaptcha](https://api.xhuoapi.ai/documents/c9a5cc2f-e410-425f-857a-f8700205da6c) i złożyć wniosek o odpowiednią usługę. Po wejściu na stronę kliknij przycisk „Acquire”, jak pokazano na obrazku:

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

Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować. Po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę.

Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.

## Podstawowe użycie

Najpierw zapoznaj się z podstawowym sposobem użycia, czyli wprowadzeniem obrazu z kodem weryfikacyjnym hCaptcha, aby uzyskać przetworzony wynik. Najpierw musisz przekazać pole `queries`, które jest konkretnym obrazem z kodem weryfikacyjnym hCaptcha. Musimy zrzucić ten obrazek z witryny, która ma kod weryfikacyjny hCaptcha, przykładowy link do witryny to: `https://democaptcha.com/demo-form-eng/hcaptcha.html`, klikając pole wyboru, aby wyświetlić pełny obraz kodu weryfikacyjnego, jak pokazano na poniższym obrazku:

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

Pole `queries` to zrzut obrazu kodu weryfikacyjnego z powyższego tekstu, zaleca się, aby rozmiar obrazu nie przekraczał 100 kB. Należy również zrzucić obszar wskazany czerwoną strzałką na powyższym obrazie, a także samodzielnie skompresować rozmiar obrazu i przekonwertować go na kodowanie Base64, jak pokazano na poniższym obrazku:

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

Należy również wprowadzić parametr treści związany z obrazem kodu weryfikacyjnego `question`, który obsługuje tłumaczenie na język chiński i angielski. Można bezpośrednio wprowadzić odpowiednią treść, jak wynika z treści wykonanej przez żółtą strzałkę na powyższym obrazie, `question` powinno być wprowadzone jako `Please click on the UNIQUE object among the others.`. Konkretna treść jest następująca:

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

Można zauważyć, że ustawiliśmy nagłówki żądania, w tym:

* `accept`: format odpowiedzi, który chcemy otrzymać, tutaj wpisujemy `application/json`, czyli format JSON.
* `authorization`: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.

Dodatkowo ustawiono ciało żądania, w tym:

* `queries`: lista obrazów kodu weryfikacyjnego zakodowanych w Base64.
* `question`: parametr treści związany z obrazem kodu weryfikacyjnego, obsługujący bezpośrednie wprowadzanie w języku chińskim i angielskim.

Po dokonaniu wyboru można zauważyć, że po prawej stronie wygenerowano odpowiedni kod, jak pokazano na obrazku:

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

Kliknij przycisk „Try”, aby przeprowadzić test, jak pokazano na powyższym obrazku, a otrzymamy następujący wynik:

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

Wynik zwrotny zawiera wiele pól, które są opisane poniżej:

* `solution`, wynik weryfikacji po przetworzeniu zadania z obrazem kodu weryfikacyjnego hCaptcha.
  * `label`, treść rozpoznana na obrazie kodu weryfikacyjnego hCaptcha.
  * `box`, informacje o lokalizacji wyniku rozpoznawania obrazu kodu weryfikacyjnego hCaptcha, które składają się z informacji o współrzędnych obrazu.
  * `confidences`, poziom pewności rozpoznania treści na obrazie kodu weryfikacyjnego hCaptcha.

Można zauważyć, że otrzymaliśmy wynik weryfikacji obrazu kodu weryfikacyjnego hCaptcha, wystarczy, że na podstawie informacji o współrzędnych `box` w wyniku symulujemy kliknięcie w ten obszar obrazu kodu weryfikacyjnego, aby przejść weryfikację.

Poniżej przedstawimy, jak kliknąć na podstawie informacji o lokalizacji `box`. Najpierw tworzymy prostokątny układ współrzędnych dla przesłanego obrazu kodu weryfikacyjnego, gdzie punkt centralny znajduje się w lewym dolnym rogu obrazu, 360 to odpowiadająca współrzędna pozioma, a 276 to odpowiadająca współrzędna pionowa. Wystarczy, że symulujemy kliknięcie w odpowiednie współrzędne kodu weryfikacyjnego, jak pokazano na poniższym obrazie:

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

Jeśli chcesz wygenerować odpowiedni kod do integracji, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:

```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"]
}'
```

Kod do integracji w Pythonie wygląda następująco:

```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)
```

## Obsługa błędów

Podczas wywoływania API, jeśli wystąpią błędy, API zwróci odpowiedni kod błędu i informacje. Na przykład:

* `400 token_mismatched`: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `400 api_not_implemented`: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `401 invalid_token`: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
* `429 too_many_requests`: Zbyt wiele żądań, przekroczono limit.
* `500 api_error`: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

### Przykład odpowiedzi błędu

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

## Wnioski

Dzięki temu dokumentowi zrozumiałeś, jak korzystać z API do rozpoznawania obrazów hCaptcha, aby umożliwić użytkownikowi wprowadzenie treści do rozpoznania oraz obrazów z kodem weryfikacyjnym hCaptcha, a na końcu zwrócić współrzędne małego obrazu, który należy kliknąć, aby zakończyć weryfikację. Mamy nadzieję, że ten dokument pomoże Ci lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, prosimy o kontakt z naszym zespołem wsparcia technicznego.
