Капча и API в скриптах Human Emulator

Капча в Human Emulator — это вызов сервиса распознавания из скрипта, когда в вашем сценарии на форме или в кабинете появляется картинка, слой проверки или похожий шаг. Задача — пройти легитимный процесс (заявка, публикация в своём разделе, вход в свой аккаунт), а не «сломать защиту чужого сайта».

Схема: форма, капча, API сервиса, подстановка ответа в поле

Какие сервисы подходят

Облачные: rucaptcha, anticaptcha и аналоги с HTTP API. Локальные программы, которые поднимают совместимый интерфейс на вашей машине. В скрипте Human Emulator вызываются те же функции объекта, что и для облака: в настройках программы и в коде указывают тип сервиса. Список — сервисы капчи, коротко — FAQ. Объект в документации: anticaptcha.

Если сервиса нет в списке, с ним работают через API, которое даёт сам сервис: Хуман тогда просто браузер и PHP вокруг запроса.

Где взять API-ключ

Ключ выдаёт сервис в личном кабинете после регистрации и пополнения. Human Emulator ключ не генерирует и «вечный бесплатный key» не раздаёт. В скрипт ключ передают в настройки выбранного типа. Для локального режима на localhost обычно достаточно любого непустого ключа: в облако он не уходит, важны совместимый URL и тип сервиса.

Инвайты на некоторые сервисы можно запросить у отдела продаж: sales@webemulator.com.

Типовой порядок в скрипте

  1. Навигация на форму, wait_js или ожидание элемента DOM (см. FAQ по браузеру).
  2. Найти картинку или контейнер капчи (по id, name, атрибуту).
  3. Вызвать распознавание (recognize и соседние методы объекта).
  4. Подставить ответ в поле или выполнить клик, который требует ваша форма.
  5. Проверить, что шаг пройден (текст, URL, исчезновение капчи) — иначе не крутить распознавание вхолостую.

Прокси к тому же сценарию задают отдельно: пост про прокси. Язык чаще PHP, те же объекты есть в C#, JS и Python.

Русский текст, кодировка, «посчитай пример»

Если сервис вернул UTF-8, а поле формы в старой кодировке страницы, после распознавания бывает нужно:

$captcha = iconv("utf-8", "windows-1251//IGNORE", $captcha);

Флаг «показывать капчу русскоязычным работникам» в recognize — параметр $is_russian (0 или 1). Он про облачных исполнителей, не про «Хуман сам читает по-русски».

Простые текстовые примеры вида «2+3=» на вашей форме иногда считают в PHP (разобрать строку и сложить). Если капча — смысловой вопрос или виджет третьей стороны, «eval картинки» не поможет: нужен сервис, который этот тип умеет. Сначала проверьте тип вручную в кабинете сервиса.

Облако, локально, демо

Облако тарифицирует попытки. Локальный движок ест CPU/GPU вашей машины. В демо Studio отключено распознавание капчи по звуку — остальное проверяйте по списку ограничений на странице демо. Полные команды — в лицензионной Studio из кабинета.

Типичные сбои

  • неверный ключ или нулевой баланс;
  • таймаут API, капча сменилась, пока ждали ответ;
  • скрипт не дождался iframe / картинки и отправил пустоту;
  • ключ засветили в общем чате — его отзывают и выпускают новый.

В поддержку: версия Studio, тип сервиса, текст ошибки API без самого ключа.

Скачать и связанные разборы

Официальный установщик: демо и пост где скачать. PHP вокруг объектов — скрипты PHP.

Актуальные ответы на сайте: FAQ: капча · список сервисов · PHP · демо

Актуальные ответы на сайте (не устаревший пост):


Comments are closed.