Перейти к содержимому

Решить капчу

картинка_0

Описание

Блок позволяет решить капчу определенного типа через сервис “ruCaptcha”.

Виды капчи:

  • Обычная капча

    Обычная капча — это изображение, на котором размещён искажённый текст, который может быть прочитан человеком. Чтобы решить капчу, нужно ввести текст с изображения.

картинка_1
картинка_2

Параметры блока:

ПараметрОбязателенОписание
Тип капчиДаВид капчи
ФорматНетФормат из чего состоит капча
Путь к изображениюДаПуть к изображению капчи (полный путь или ссылка на файл)
Ключ APIДаКлюч API сервиса ruCaptcha
Мат. операцияНетКапча требует/не требует совершения математического действия (например: напишите результат 2 + 2 = )
ФразаНетКапча состоит из одного/двух или более слов
С учетом регистраНетКапча чувствительна/не чувствительна к регистру
КириллицаНетКапча содержит/не содержит только кириллицу
Мин. длинаНетМинимальное количество символов в ответе
Макс. длинаНетМаксимальное количество символов в ответе

  • Recaptcha_v2

    Внешний вид reCAPTCHA_V2:

картинка_3
картинка_4

Параметры блока:

ПараметрОбязателенОписание
Тип капчиДаВид капчи
НевидимыйНетВидимая/невидимая капча
Ключ APIДаКлюч API сервиса ruCaptcha
SitekeyДаУникальный ключ капчи (значение параметра data-sitekey)
URL-адресДаURL-адрес страницы, где решается капча

  • Recaptcha_v3

    reCAPTCHA V3 - это вид капчи, который основан на рейтинге “человечности” пользователя и не требует от пользователя выполнения каких-либо заданий.

картинка_5
картинка_6

Параметры блока:

ПараметрОбязателенОписание
Тип капчиДаВид капчи
Ключ APIДаКлюч API сервиса ruCaptcha
SitekeyДаУникальный ключ капчи (значение параметра data-sitekey)
ActionДаЗначение в вызове функции grecaptcha.execute
URL-адресДаURL-адрес страницы, где решается капча
POST-запрос IDДаID в параметрах POST-запроса (например: g-recaptcha-response или g-recaptcha-response-100000)

Примеры использования

  • Обычная капча

    В данном примере блок решает обычную капчу на сайте: https://captcha-api.yandex.ru/demo:

    1. Открывается страница https://captcha-api.yandex.ru/demo;
    2. Подключается к фрейму контейнера капчи по селектору: #captcha-container > iframe, чтобы запустить проверку с помощью клика;
    3. Подключается к новому фрейму по селектору: body > div.SmartCaptcha-Overlay.SmartCaptcha-Overlay_visible > iframe;
    4. Проверяет существует ли окно с заданием;
    5. Забирает url-путь к файлу из параметра src в элементе: //div[@class = ‘AdvancedCaptcha-View’]/img;
    6. Решает обычную капчу;
    7. Вводит полученный результат в поле для ответа и нажимает Enter;
    8. Видит сообщение о успешном решении капчи.
картинка_7

Результат

После решения капчи на сайте высветится сообщение “Hello, user”:

картинка_8
картинка_9

Значение параметра data-sitekey берем из html страницы:

картинка_10

Результат

После решения капчи на сайте высветится сообщение “Проверка прошла успешно…Ура!”:

картинка_11
картинка_12

Значение sitekey берется из параметра render из html страницы:

картинка_13

Значение action берется из вызова функции grecaptcha.execute из html страницы:

картинка_14

Значение POST-запрос ID берется из атрибута textarea, где передается токен ******капчи из html страницы:

картинка_15

Результат

После удачного решения капчи на сайте приходит ответ в формате JSON:

{
"success": true,
"hostname": "recaptcha-demo.appspot.com",
"challenge_ts": "2023-10-18T09:04:39Z",
"apk_package_name": null,
"score": 0.9,
"action": "examples/v3scores",
"error-codes": []
}