Skip to main content
W tym artykule przedstawimy instrukcję integracji API do rozpoznawania protokołów hCaptcha, która pozwala użytkownikom na automatyczne dekodowanie w tle i zakończenie weryfikacji bez konieczności rozpoznawania i klikania na obrazy z kodami weryfikacyjnymi hCaptcha, wystarczy przesłać klucz witryny.

Proces aplikacji

Aby skorzystać z API do rozpoznawania protokołó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; gdy limit się wyczerpie, możesz doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: API do rozpoznawania protokołów hCaptcha →

Podstawowe użycie

Najpierw zapoznaj się z podstawowym sposobem użycia, polegającym na wprowadzeniu URL witryny, która wymaga przetworzenia kodu weryfikacyjnego hCaptcha, aby uzyskać przetworzony wynik. Najpierw musisz przekazać pole website_url, nasza przykładowa witryna to: https://accounts.hcaptcha.com/demo, musimy uzyskać website_key na stronie website_url, najpierw otwórz tę stronę, naciśnij F12, aby przejść do konsoli, a następnie w zakładce Elementy wykonaj globalne wyszukiwanie hcaptcha-demo, uzyskując poniższy wynik:

String odpowiadający data-sitekey to wartość website_key, poniżej znajdują się konkretne wyniki parametrów:

Można zauważyć, że ustawiliśmy nagłówki żądania, w tym:
  • accept: format odpowiedzi, który chcesz otrzymać, tutaj wpisz 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:
  • website_url: URL witryny, która wymaga przetworzenia kodu weryfikacyjnego.
  • website_key: identyfikator klucza witryny w hCaptcha.
  • rqdata: opcjonalne. Wyzwania hCaptcha Enterprise mogą dostarczać data-rqdata na stronie, w przypadku takich wyzwań wypełnij jego oryginalną wartość; zwykłe hCaptcha nie wymaga wypełnienia.
  • proxy: opcjonalne, przynieś własny proxy (Bring Your Own Proxy). Po ustawieniu system będzie korzystał z dostarczonego przez Ciebie adresu IP proxy do rozwiązania kodu weryfikacyjnego, aby kontrolować jakość wyjściowego adresu IP (na przykład, aby uniknąć blokady przez docelową witrynę z powodu publicznego adresu IP proxy, co skutkuje zwróceniem 410 Gone). Format to scheme://[user:pass@]host:port, scheme obsługuje http/https/socks4/socks5, na przykład http://user:pass@1.2.3.4:8080. Jeśli nie wypełnisz, użyje domyślnego proxy platformy.
Po dokonaniu wyboru można zauważyć, że po prawej stronie wygenerowano odpowiedni kod, jak pokazano na rysunku:

Kliknij przycisk „Spróbuj”, aby przeprowadzić test, jak pokazano na powyższym obrazku, uzyskując następujący wynik:
Można zobaczyć, że otrzymaliśmy wynik weryfikacji hCaptcha, który możemy wykorzystać do POST lub symulacji przesyłania do docelowej strony internetowej, jednorazowego użycia, ważny przez 120 sekund, zaleca się użycie w ciągu 60 sekund. Następnie zostanie podany fragment CURL, który przesyła przetworzony token do docelowej strony, aby przejść przez weryfikację Recaptcha2. Najpierw musimy dowiedzieć się, jak strona wysyła żądania POST, abyśmy mogli wprowadzić wygenerowany token. Musimy najpierw otworzyć konsolę F12, a następnie ręcznie przejść przez weryfikację. Na koniec możemy zobaczyć, że strona wysłała żądanie POST. Musimy tylko sprawdzić konstrukcję tego żądania POST, a konkretny proces wygląda następująco:
  • Najpierw ręcznie przechodzimy przez weryfikację, jak pokazano na poniższym obrazku:

  • Następnie klikamy submit, obserwując zmiany w konsoli sieciowej, jak pokazano na poniższym obrazku:

  • Analizujemy konstrukcję przesyłanego żądania POST, a na koniec możemy kliknąć prawym przyciskiem myszy na to żądanie, aby skopiować kod CURL, jak pokazano na poniższym obrazku:

Z analizy powyższego obrazu wynika, że URL tego żądania POST to: https://accounts.hcaptcha.com/demo, musimy tylko przesłać parametry g-recaptcha-response, h-captcha-response i email, a następnie wystarczy wprowadzić przetworzony token do poniższych danych, wywołując odpowiedni kod CURL do weryfikacji tokena:
Odpowiedni kod Python do weryfikacji tokena wygląda następująco:
Następnie obserwujemy, że konsola pokazuje taki wynik:

Na koniec przeszliśmy przez weryfikację hCaptcha. Dodatkowo, jeśli chcesz wygenerować odpowiedni kod do integracji, możesz po prostu skopiować wygenerowany kod, na przykład kod CURL wygląda następująco:
Kod integracji w Pythonie wygląda następująco:

Tryb asynchroniczny (async)

Domyślnie API jest synchroniczne i blokujące: jedno żądanie będzie czekać, aż przetwarzanie tokena zostanie zakończone, zanim zwróci wynik. Jeśli wykonujesz rotację wielu rozwiązań (multi-solver rotation) i chcesz „natychmiast uzyskać task_id po złożeniu zadania, a następnie przejść do innych rozwiązań, a później wrócić po wyniki”, możesz wprowadzić async: true w ciele żądania. Po wprowadzeniu async: true, interfejs natychmiast zwróci task_id, nie blokując oczekiwania:
Aby aktywnie sprawdzić postęp, możesz użyć tego task_id, aby zapytać o POST /captcha/tasks (zaleca się co 3-5 sekund). Ten interfejs nie uruchomi ani nie przyspieszy przetwarzania zadań; 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 i token:
Opis rozliczeń: w trybie asynchronicznym tworzenie zadań i odczytywanie statusu „w trakcie przetwarzania” nie jest obciążane; klient zostanie obciążony raz, gdy po raz pierwszy odczyta pomyślny wynik (zgodnie z istniejącym zachowaniem i cenami w trybie synchronicznym). Serwer samodzielnie przyspieszy przetwarzanie zadań, ale nie obciąży wcześniej, gdy zadanie zakończy się w tle. Zadanie, które nie zakończy się pomyślnie w ciągu 120 sekund, zakończy się 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ń, przekroczono limit.
  • 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 do rozpoznawania protokołu hCaptcha, aby użytkownicy nie musieli rozpoznawać i klikać na obrazy weryfikacji hCaptcha, wystarczy przesłać klucz witryny, aby zrealizować automatyczne dekodowanie w tle i 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.