Перейти к основному содержанию
В этой статье будет представлено руководство по интеграции API распознавания изображений hCaptcha, которое позволяет по введенному пользователем содержимому и изображению hCaptcha вернуть координаты маленького изображения, на которое нужно кликнуть, для завершения проверки.

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

Чтобы использовать API, сначала необходимо перейти на соответствующую страницу API распознавания изображений hCaptcha и подать заявку на соответствующую услугу. После перехода на страницу нажмите кнопку «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"
}

Заключение

С помощью этого документа вы узнали, как использовать API распознавания изображений hCaptcha, чтобы позволить пользователю ввести распознаваемое содержимое и изображение hCaptcha, а затем вернуть координаты маленького изображения, на которое нужно кликнуть, для завершения проверки. Надеемся, что этот документ поможет вам лучше интегрировать и использовать этот API. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.