Skip to main content
У цьому документі буде представлено опис інтеграції hCaptcha зображення розпізнавання API, який може ідентифікувати вміст, введений користувачем, та зображення hCaptcha, а потім повернути координати малих зображень, на які потрібно натиснути, для завершення перевірки.

Процес подачі заявки

Щоб використовувати hCaptcha зображення розпізнавання API, спочатку перейдіть до консолі Ace Data Cloud для отримання вашого API Token, зберігайте його для подальшого використання. Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, щоб запросити реєстрацію та вхід, після чого ви будете автоматично повернені на цю сторінку. Один API Token дозволяє викликати всі послуги платформи, не потрібно окремо подавати заявку на кожну послугу. Перший запит на отримання токена надає безкоштовний ліміт, щоб ви могли безкоштовно протестувати; якщо ліміт вичерпано, ви можете поповнити загальний баланс на консолі.
📘 Повна документація: hCaptcha зображення розпізнавання API →

Основне використання

Спочатку розгляньте основний спосіб використання, тобто введіть зображення hCaptcha, яке потрібно обробити, і ви отримаєте оброблений результат. Спочатку потрібно просто передати поле queries, яке є конкретним зображенням hCaptcha. Нам потрібно зробити скріншот цього зображення з сайту, що має hCaptcha, приклад сайту: https://democaptcha.com/demo-form-eng/hcaptcha.html, натисніть на прапорець, щоб відобразити конкретне повне зображення коду, як показано на малюнку нижче:

Поле queries є скріншотом зображення коду, розмір зображення не повинен перевищувати 100 КБ, також потрібно зробити скріншот області, на яку вказує червона стрілка на зображенні вище, і вам потрібно самостійно стиснути розмір зображення, а також перетворити його в кодування Base64, як показано на малюнку нижче:

Також потрібно ввести параметр вмісту, пов’язаний із зображенням коду, question, який підтримує переклад на китайську та англійську мови, ви можете безпосередньо ввести відповідний вміст. З вмісту зображення веб-сторінки, на яке вказує жовта стрілка, видно, що question має бути введено як Please click on the UNIQUE object among the others.. Конкретний вміст наведено нижче:

Ми бачимо, що тут ми налаштували заголовки запиту, включаючи:
  • accept: який формат відповіді ви хочете отримати, тут вказано application/json, тобто формат JSON.
  • authorization: ключ для виклику API, після подачі заявки ви можете вибрати його зі списку.
Також налаштовано тіло запиту, яке включає:
  • queries: список зображень коду в кодуванні Base64.
  • question: параметр вмісту, пов’язаний із зображенням коду, підтримує безпосередній ввід на китайській та англійській мовах.
Після вибору ви також можете помітити, що праворуч згенеровано відповідний код, як показано на малюнку:

Натисніть кнопку «Спробувати», щоб провести тестування, як показано на малюнку, і ми отримали наступний результат:
У повернутому результаті є кілька полів, описаних нижче:
  • solution, результат перевірки після обробки завдання зображення hCaptcha.
    • label, вміст, розпізнаний зображенням hCaptcha.
    • box, інформація про позицію результату розпізнавання зображення hCaptcha, що складається з координат зображення.
    • confidences, впевненість у розпізнанні вмісту після розпізнавання зображення hCaptcha.
Ми отримали результат перевірки зображення hCaptcha, і нам потрібно просто натиснути на координати, вказані в box, щоб пройти перевірку. Далі буде описано, як натиснути на основі інформації про позицію box. Спочатку потрібно створити прямокутну координатну систему для завантаженого зображення коду, де центр координат знаходиться в нижньому лівому куті зображення, 360 - це відповідна горизонтальна координата, 276 - це відповідна вертикальна координата. Нам потрібно просто натиснути на координати, відповідні коду, як показано на малюнку нижче:

Якщо ви хочете згенерувати відповідний код інтеграції, ви можете просто скопіювати його, наприклад, код CURL виглядає так:
Код інтеграції на Python виглядає так:

Асинхронний режим (async)

За замовчуванням API є синхронним і блокуючим: один запит буде чекати, поки обробка результату розпізнавання не завершиться, перш ніж повернути результат. Якщо ви займаєтеся ротацією кількох розпізнавачів (multi-solver rotation) і хочете «одразу отримати task_id після подачі завдання, спочатку перейти до інших розпізнавачів, а потім повернутися за результатом», ви можете передати async: true у тілі запиту. Після передачі async: true інтерфейс відразу поверне task_id, не блокуючи очікування:
Потім використовуйте цей task_id для опитування POST /captcha/tasks (рекомендується кожні 3~5 секунд) для отримання результату:
Під час обробки буде повернуто status: обробка:
Після завершення обробки буде повернуто status: готово та результат розпізнавання solution (структура полів повністю збігається з синхронним режимом):
Опис плати: в асинхронному режимі створення завдання та опитування «обробка» не підлягає оплаті; лише при успішному отриманні результату розпізнавання стягується плата один раз (ціна така ж, як у синхронному режимі). Тому скасування незавершених завдань під час обертання не призведе до витрат. /captcha/tasks є загальним для всіх інтерфейсів перевірки CAPTCHA (серії токенів та розпізнавання), можна використовувати один і той же task_id для опитування.

Обробка помилок

При виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:
  • 400 token_mismatched: Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 400 api_not_implemented: Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 401 invalid_token: Неавторизовано, недійсний або відсутній токен авторизації.
  • 429 too_many_requests: Занадто багато запитів, ви перевищили ліміт запитів.
  • 500 api_error: Внутрішня помилка сервера, щось пішло не так на сервері.

Приклад відповіді з помилкою

Висновок

Завдяки цьому документу ви дізналися, як використовувати API розпізнавання зображень hCaptcha, щоб користувач вводив розпізнаний вміст та зображення CAPTCHA hCaptcha, а в кінці поверталися координати маленького зображення, на яке потрібно натиснути, для завершення перевірки. Сподіваємося, цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої команди технічної підтримки.