Перейти до основного вмісту
Цей документ представить спосіб інтеграції hCaptcha зображення розпізнавання API, який може за допомогою введеного користувачем вмісту та зображення hCaptcha-коду, врешті-решт повернути координати маленького зображення, на яке потрібно натиснути, для завершення перевірки.

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

Щоб використовувати API, спочатку потрібно перейти на відповідну сторінку hCaptcha зображення розпізнавання API для подачі заявки на відповідну послугу, після переходу на сторінку натисніть кнопку «Acquire», як показано на малюнку: Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти, після входу або реєстрації ви автоматично повернетеся на поточну сторінку. При першій подачі заявки буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей 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: параметр вмісту, пов’язаний із зображенням коду, підтримує безпосередній ввід на китайській та англійській мовах.
Після вибору ви можете помітити, що праворуч також згенеровано відповідний код, як показано на малюнку:

Натисніть кнопку «Try», щоб провести тестування, як показано на малюнку, тут ми отримали наступний результат:
{
  "solution": {
    "label": "Please click on the UNIQUE object among the others",
    "box": [
      "360",
      "276"
    ],
    "confidences": 0.6354503631591797
  }
}
Повернуті результати містять кілька полів, описаних нижче:
  • solution, результат перевірки після обробки завдання зображення hCaptcha-коду.
    • label, вміст, розпізнаний зображенням hCaptcha-коду.
    • box, інформація про позицію результату розпізнавання зображення hCaptcha-коду, що складається з координат зображення.
    • confidences, впевненість у розпізнанні вмісту після розпізнавання зображення hCaptcha-коду.
Ми отримали результат перевірки обробленого зображення hCaptcha-коду, нам потрібно лише натиснути на область зображення коду відповідно до координат інформації box, щоб пройти перевірку. Далі буде описано, як натискати за інформацією про позицію box результату. Спочатку потрібно створити прямокутну координатну систему для завантаженого зображення коду, де центр координат знаходиться в нижньому лівому куті зображення, 360 - це відповідна горизонтальна координата, 276 - відповідна вертикальна координата, нам потрібно просто натиснути на координати, що відповідають коду, як показано на малюнку:

Крім того, якщо ви хочете згенерувати відповідний код інтеграції, ви можете безпосередньо скопіювати його, наприклад, код CURL виглядає так:
curl -X POST 'https://api.acedata.cloud/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"]
}'
Код інтеграції на Python виглядає так:
import requests

url = "https://api.acedata.cloud/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)

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

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

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

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

Висновок

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