Looking for international version of our service? Go to 2captcha.com

Логотип «RuCaptcha»Перейти на главную страницу
Туториалы по обходу капчи

Эта статья была полезной?

Как обойти rotate капчу

Рубен Эрера
Рубен Эрера

Строю backend, IT-инфраструктуру и automation-сервисы для масштабируемых SaaS-продуктов.

Как распознать, решить обойти повортную капчу автоматически с помощью сервиса распознавания

Введение

Если вы автоматизируете работу с сайтами, где встречается поворотная капча (Rotate CAPTCHA), и вам нужно точно определять угол поворота изображения, это руководство для вас.

Сервис RuCaptcha позволяет решать Rotate CAPTCHA через API с помощью задачи типа RotateTask. Это критично для сайтов, которые требуют повернуть объект в правильное положение перед продолжением работы.

Статья описывает процесс отправки запросов напрямую через JSON API.

Общие сведения

Rotate CAPTCHA — это тип капчи, где пользователю предлагается повернуть изображение (иконку, объект, фотографию) в правильное положение. В отличие от текстовых капч, здесь ответом является числовое значение угла поворота.

Основная проблема при автоматизации: без точного указания шага поворота или подсказки исполнитель может выбрать неверный угол. Если целевой сайт требует точного позиционирования, решение будет отклонено.

Решение: явно указать параметр angle и добавить понятный comment в задаче типа RotateTask. Это помогает работникам RuCaptcha быстрее и точнее определить нужный угол.

Подготовка окружения

Перед началом работы убедитесь, что у вас есть:

  • Доступ к терминалу с поддержкой curl или HTTP-клиентом (Postman, HTTPie)
  • API-ключ из личного кабинета RuCaptcha
  • Изображение капчи в формате JPG, PNG или GIF (макс. 600 КБ)
  • Инструмент для кодирования в Base64 (онлайн-конвертер или команда base64)

Пример кодирования изображения в Base64 через терминал:

bash Copy
base64 -w 0 captcha.png > captcha_b64.txt

Проверьте, что полученная строка не содержит переносов строк.

Анализ страницы

Для Rotate CAPЧА не требуется извлечение sitekey или анализ токенов. Достаточно:

  1. Найти запрос, который загружает изображение капчи (вкладка Network в DevTools)
  2. Сохранить изображение локально или извлечь Base64-строку напрямую
  3. Определить шаг поворота: посчитайте количество доступных позиций (например, 6 позиций = шаг 60°)
  4. Подготовить параметры задачи с учётом angle и comment

Если шаг поворота неизвестен, можно опустить параметр angle, но точность решения может снизиться.

Реализация

Отправка задачи

Задача отправляется POST-запросом на эндпоинт createTask:

Copy
https://api.rucaptcha.com/createTask

Headers:

Copy
Content-Type: application/json

Тело запроса:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "RotateTask",
        "body": "BASE64_ENCODED_IMAGE",
        "angle": 60,
        "comment": "Rotate the image to upright position"
    },
    "languagePool": "en"
}

Опрос статуса задачи

Используйте taskId из ответа для опроса статуса:

Copy
https://api.rucaptcha.com/getTaskResult

Тело запроса:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

Пример ответа при готовности:

json Copy
{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "rotate": 180
    }
}

Значение solution.rotate содержит угол в градусах, на который нужно повернуть изображение.

Пояснения к параметрам

Параметры задачи RotateTask

Параметр Тип Обязательный Описание
type String Да Всегда RotateTask
body String Да Изображение в Base64 или Data-URI
angle Integer Нет Шаг поворота в градусах (например, 60 для 6 позиций)
comment String Нет Подсказка для исполнителя на английском или языке пула
languagePool String Нет Предпочтительный язык исполнителя (en, ru, es и др.)

Параметры ответа

Поле Тип Описание
errorId Integer 0 — успех, другое значение — код ошибки
status String processing — задача в очереди, ready — решение готово
solution.rotate Integer Угол поворота в градусах (0–359)

Обратная связь по результатам решения

После получения ответа от RuCaptcha и проверки его на целевом сайте рекомендуется отправить обратную связь. Это помогает улучшать качество распознавания и в некоторых случаях возвращать средства за ошибочные решения.

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

Отправьте POST-запрос на эндпоинт reportIncorrect:

Эндпоинт: https://api.rucaptcha.com/reportIncorrect

Метод: POST

Content-Type: application/json

Пример запроса:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

Пример ответа:

json Copy
{
    "errorId": 0,
    "status": "success"
}

Важно: не используйте этот метод, если ваш процент успеха близок к 0%. Это может указывать на ошибку в вашем коде, а не в решениях капчи.

Если сайт принял решение (правильный угол)

Отправьте POST-запрос на эндпоинт reportCorrect:

Эндпоинт: https://api.rucaptcha.com/reportCorrect

Метод: POST

Content-Type: application/json

Пример запроса:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

Пример ответа:

json Copy
{
    "errorId": 0,
    "status": "success"
}

Политика возвратов

  • Каждый случай рассматривается индивидуально
  • Для стандартных капч проверяется корректность ответа
  • Для капч с токеном анализируется статистика исполнителя
  • Возврат средств не гарантируется по каждой жалобе
  • Итоговая сумма возвратов может отличаться от количества обращений

Отправляйте отчёты честно и только после реальной проверки на целевом сайте.

Использование комментария для сложных случаев

Если капча имеет нестандартный формат или требует особого поворота, добавьте подсказку в параметр comment.

Комментарий отобразится у исполнителя и повысит точность распознавания.

Интеграция с браузерной автоматизацией

Полученный угол solution.rotate можно применить через Selenium, Playwright или Puppeteer:

  • Найдите элемент управления поворотом на странице
  • Вычислите необходимое количество кликов или угол для CSS-трансформации
  • Примените поворот программно перед отправкой формы

Типичные ошибки

Ошибка Причина Решение
ERROR_WRONG_USER_KEY Неверный clientKey Проверьте API-ключ в личном кабинете RuCaptcha
ERROR_ZERO_BALANCE Недостаточно средств на балансе Пополните баланс перед отправкой задач
ERROR_CAPTCHA_UNSOLVABLE Изображение нечёткое или задача неоднозначная Улучшите качество изображения, добавьте comment
ERROR_ZERO_CAPTCHA_FILESIZE Размер файла менее 100 байт Проверьте, что изображение корректно закодировано в Base64
ERROR_NO_SLOT_AVAILABLE Очередь переполнена или ставка слишком низкая Увеличьте ставку в настройках или добавьте задержку между запросами
Неправильный угол в ответе Не указан angle или подсказка неточная Добавьте параметр angle и уточните comment

Дополнительные ресурсы

Контрольный список

  • Изображение капчи закодировано в Base64 и не превышает 600 КБ
  • В задачу добавлен параметр angle, если известен шаг поворота
  • Параметр comment содержит понятную инструкцию на английском или целевом языке
  • Ответ валидируется перед применением (errorId, status, solution.rotate)
  • Протестировано применение угла на целевом сайте
  • Реализована отправка отчётов reportIncorrect / reportCorrect
  • При необходимости настроено логирование для отладки

Заключение

Точное определение угла поворота в Rotate CAPTCHA — частая причина ошибок при автоматизации. Параметры angle и comment в задаче RotateTask API RuCaptcha позволяют явно указать логику капчи и повысить точность решения.

Используйте прямые JSON-запросы для гибкой интеграции, не забывайте про обработку ошибок и таймауты, и ваши скрипты будут стабильно проходить капчи даже на строгих сайтах.

Не забывайте отправлять обратную связь через reportIncorrect и reportCorrect — это помогает улучшать качество сервиса и возвращать средства за ошибочные решения.

Обходите любую поворотную капчу с помощью решения капчи через API.