Skip to main content
W tym artykule przedstawimy instrukcję integracji API do rozpoznawania obrazów hCaptcha, która pozwala na 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 korzystać z API do rozpoznawania obrazów hCaptcha, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój token API, który należy zachować na przyszłość. Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę. Jeden token API wystarczy do korzystania ze wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Przy pierwszym wniosku otrzymasz darmowy limit, aby móc skorzystać z usługi bez opłat; w przypadku niewystarczającego limitu możesz doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: API do rozpoznawania obrazów hCaptcha →

Podstawowe użycie

Najpierw zapoznaj się z podstawowym sposobem użycia, polegającym na wprowadzeniu obrazu z kodem weryfikacyjnym hCaptcha, aby uzyskać przetworzony wynik. Najpierw musisz przekazać pole queries, które zawiera konkretny obraz z kodem weryfikacyjnym hCaptcha. Musimy zrzucić ten obraz z witryny z kodem weryfikacyjnym 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:

Pole queries to zrzut obrazu kodu weryfikacyjnego z powyższego tekstu, zaleca się, aby rozmiar obrazu nie przekraczał 100 kB, a także należy 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 obrazie:

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ść. Z treści obrazu z powyższej strony internetowej wynika, że question powinno być wprowadzone jako Please click on the UNIQUE object among the others.. Konkretna treść jest następująca:

Możemy zobaczyć, że ustawiliśmy nagłówki żądania, w tym:
  • accept: jakiego formatu odpowiedzi oczekujemy, 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:

Klikając przycisk „Try”, można przeprowadzić test, jak pokazano na powyższym obrazku, otrzymujemy następujący wynik:
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.
  • started_at, finished_at: czas rozpoczęcia przetwarzania i uzyskania wyniku dla tego żądania, znacznik czasu Unix (sekundy, liczba zmiennoprzecinkowa).
  • elapsed: całkowity czas przetwarzania (sekundy).
Możemy zobaczyć, że uzyskaliśmy wynik weryfikacji obrazu kodu weryfikacyjnego hCaptcha, wystarczy, że na podstawie informacji o współrzędnych box w wyniku klikniemy w odpowiedni 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. Musimy tylko symulować kliknięcie w odpowiednie współrzędne kodu weryfikacyjnego, jak pokazano na poniższym obrazie:

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

Tryb asynchroniczny (async)

Domyślnie API działa w trybie synchronicznym: jedno żądanie będzie czekać, aż przetwarzanie wyniku rozpoznawania zostanie zakończone, zanim zwróci odpowiedź. Jeśli wykonujesz rotację wielu rozwiązań (multi-solver rotation) i chcesz „natychmiast uzyskać task_id po złożeniu zadania, aby najpierw zlecić inne rozwiązania, a później wrócić po odczytanie wyniku”, możesz przekazać async: true w ciele żądania. Po przekazaniu async: true interfejs natychmiast zwróci task_id, nie czekając na wynik:
Aby aktywnie sprawdzić postęp, możesz użyć task_id, aby zapytać POST /captcha/tasks (zaleca się co 3-5 sekund). To API nie uruchomi ani nie przyspieszy przetwarzania zadania; nawet jeśli nie zapytasz, stracisz połączenie lub wyjdziesz z klienta, serwer nadal będzie przetwarzać:
W trakcie przetwarzania zwróci status: processing:
Po zakończeniu przetwarzania zwróci status: ready oraz wynik rozpoznawania solution (struktura pól jest całkowicie zgodna z trybem synchronizacji):
Opis rozliczeń: w trybie asynchronicznym, tworzenie zadań i odczytywanie statusu „w trakcie przetwarzania” nie są obciążane opłatami; klient jest obciążany jednorazowo przy pierwszym odczycie udanego wyniku (zgodnie z istniejącym zachowaniem i ceną trybu synchronizacji). Serwer samodzielnie przyspiesza zadania, ale nie obciąży opłatą, jeśli zadanie zakończy się w tle. Jeśli zadanie nie zakończy się pomyślnie w ciągu 120 sekund, zostanie zakończone jako HTTP 504 timeout, bez obciążenia. /captcha/tasks nie odpowiada za przyspieszanie zadań.

Obsługa błędów

Podczas wywoływania API, jeśli napotkasz błąd, 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ń, przekroczyłeś limit szybkości.
  • 500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

Przykład odpowiedzi błędu

Wnioski

Dzięki temu dokumentowi zrozumiałeś, jak używać API rozpoznawania obrazów hCaptcha, aby użytkownicy mogli wprowadzać rozpoznawane treści i obrazy captcha hCaptcha, a na końcu zwracać 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ń, skontaktuj się z naszym zespołem wsparcia technicznego.