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

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

Как обойти reCAPTCHA v3

Введение

reCAPTCHA v3 — это не классическая капча с картинками, а система скоринга, которая оценивает поведение пользователя в браузере и возвращает числовое значение (score) от 0.1 до 0.9. В отличие от предыдущих версий, она не требует явного взаимодействия пользователя, но предъявляет строгие требования к качеству токена.

В этом руководстве мы разберём:

  • Как определить reCAPTCHA v3 на странице
  • Какие параметры необходимы для отправки задачи
  • Как правильно настроить minScore и action
  • Как использовать систему репортов для повышения качества решений
  • Пример кода на Python и PHP

Важно: Решение reCAPTCHA v3 — сложная задача, так как она предъявляет строгие требования к значению score. Успех зависит от совокупности факторов: корректных параметров, качества прокси, цифровых отпечатков браузера и поведения сессии.


Как определить reCAPTCHA v3 на странице

Версия Признаки
reCAPTCHA v2 Есть чекбокс «Я не робот»
reCAPTCHA v2 Invisible Нет чекбокса, но при отправке формы иногда появляется выбор изображений
reCAPTCHA v3 Нет чекбокса, логотип reCAPTCHA в углу, при отправке формы никогда не появляется выбор картинок

Быстрая проверка через DevTools

  1. Откройте консоль разработчика (F12 → вкладка Network)
  2. Выполните действие, которое триггерит капчу
  3. Найдите запросы к google.com/recaptcha/api2/ или recaptcha.net/recaptcha/api2/
  4. Если есть запрос к reload, но нет запроса к userverify — это reCAPTCHA v3

Необходимые параметры для решения

Основные поля задачи RecaptchaV3TaskProxyless

Свойство Тип Обязателен Описание
type String Да RecaptchaV3TaskProxyless
websiteURL String Да Полный URL страницы с капчей
websiteKey String Да Sitekey из атрибута data-sitekey или параметра k в запросах
minScore Float Да Требуемый score: от 0.1 до 0.9
pageAction String Нет Значение action, если используется на сайте
isEnterprise Boolean Нет true для Enterprise-версии (enterprise.js)
apiDomain String Нет Домен загрузки: google.com (по умолчанию) или recaptcha.net

Как найти websiteKey и action

websiteKey:

  1. Откройте страницу с капчей
  2. Найдите iframe с src="https://www.google.com/recaptcha/api2/anchor"
  3. В параметре k этого URL находится искомый sitekey

action (если используется):

  1. В консоли браузера выполните поиск по grecaptcha.execute
  2. Значение параметра action в вызове функции нужно передать в запросе
javascript Copy
// Пример вызова на странице
grecaptcha.execute('6LfB5_IbAAAA...', { action: 'login' });
// ↑ значение 'login' — это и есть action

Пошаговая инструкция: отправка задачи через API

Шаг 1: Создание задачи

Эндпоинт: https://api.2captcha.com/createTask
Метод: POST
Content-Type: application/json

json Copy
{
  "clientKey": "ВАШ_API_КЛЮЧ",
  "task": {
    "type": "RecaptchaV3TaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "6LfB5_IbAAAAAMCtsjEHEHKqcB9iQocwwxTiihJu",
    "minScore": 0.9,
    "pageAction": "login",
    "isEnterprise": false
  }
}

Шаг 2: Получение taskId

В ответе вы получите:

json Copy
{
  "errorId": 0,
  "taskId": "1234567890"
}

Шаг 3: Опрос результата

Эндпоинт: https://api.2captcha.com/getTaskResult

json Copy
{
  "clientKey": "ВАШ_API_КЛЮЧ",
  "taskId": "1234567890"
}

Успешный ответ:

json Copy
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq269xwqd...5pZ_2DMHqUjg",
    "token": "03AGdBq269xwqd...5pZ_2DMHqUjg"
  }
}

Шаг 4: Использование токена

Добавьте полученный токен в поле формы g-recaptcha-response или передайте в соответствующий параметр вашего POST-запроса к целевому сайту.

Срок жизни токена: 120 секунд с момента генерации. Используйте его немедленно.


Критически важные рекомендации по score и action

Проблема чувствительности к score

reCAPTCHA v3 очень чувствительна к значению score. Даже токен с заявленным minScore: 0.9 может быть отклонён, если сайт применяет дополнительные проверки.

Что делать:

  1. Отправляйте множественные запросы с разными значениями minScore:

    Copy
    Попробуйте последовательно: 0.3 → 0.7 → 0.9
  2. Экспериментируйте с параметром action:

    • Попробуйте добавить action, если он не указан
    • Попробуйте убрать action, если он есть
    • Убедитесь, что значение action точно совпадает с тем, что ожидает сайт
  3. Тестируйте на демо-странице перед интеграцией:

    Copy
    https://rucaptcha.com/demo/recaptcha-v3

Важно: Наши воркеры решают большое количество капч ежедневно, что может влиять на качество получаемого score. Некоторые сайты предъявляют экстремально высокие требования, и прохождение может быть невозможно технически.


Система репортов: как сэкономить и улучшить качество

Использование системы обратной связи — обязательный этап для стабильной работы с reCAPTCHA v3. Это позволяет:

  • Улучшать качество распознования
  • Получать возврат средств за неудачные решения

Когда отправлять reportCorrect

Токен был принят целевым сайтом (форма отправилась успешно, нет ошибки капчи)

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

json Copy
{
  "clientKey": "ВАШ_API_КЛЮЧ",
  "taskId": 1234567890
}

Когда отправлять reportIncorrect

Токен был отклонён сайтом (ошибка «Неверная капча», блокировка)

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

json Copy
{
  "clientKey": "ВАШ_API_КЛЮЧ",
  "taskId": 1234567890
}

Примеры кода

Python (с использованием официальной библиотеки)

python Copy
# pip install 2captcha-python
from twocaptcha import TwoCaptcha

solver = TwoCaptcha('ВАШ_API_КЛЮЧ')

try:
    result = solver.recaptcha(
        sitekey='6LfB5_IbAAAAAMCtsjEHEHKqcB9iQocwwxTiihJu',
        url='https://example.com/login',
        version='v3',
        action='login',
        score=0.9
    )
    token = result['code']
    print(f'Токен: {token}')
    
    # Отправка репорта после использования
    # solver.report_correct(task_id) или solver.report_incorrect(task_id)
    
except Exception as e:
    print(f'Ошибка: {e}')

PHP

php Copy
<?php
require __DIR__ . '/vendor/autoload.php';

$solver = new TwoCaptcha\TwoCaptcha('ВАШ_API_КЛЮЧ');

try {
    $result = $solver->recaptcha([
        'sitekey' => '6LfB5_IbAAAAAMCtsjEHEHKqcB9iQocwwxTiihJu',
        'url'     => 'https://example.com/login',
        'version' => 'v3',
        'action'  => 'login',
        'score'   => 0.3
    ]);
    
    echo "Токен: " . $result->code;
    
} catch (Exception $e) {
    echo "Ошибка: " . $e->getMessage();
}
?>

Частые ошибки и их решения

Ошибка Причина Решение
ERROR_WRONG_USER_KEY Неверный API-ключ Проверьте ключ в личном кабинете
ERROR_ZERO_BALANCE Недостаточно средств Пополните баланс аккаунта
ERROR_CAPTCHA_UNSOLVABLE Капча не была решена Попробуйте другой minScore, проверьте action, смените прокси
Токен не принимается сайтом Несоответствие action или userAgent Убедитесь, что параметры точно совпадают с реальным браузером

Рекомендации по частоте запросов

  • Опрос getTaskResult: каждые 5-10 секунд (не чаще!)
  • Между созданием новых задач: делайте паузу 2-5 секунд
  • При получении 3+ ошибок подряд: смените прокси или сделайте паузу 15-30 минут


Полезные ссылки


Заключение

Обход reCAPTCHA v3 — это не разовая настройка, а итеративный процесс оптимизации. Ключ к успеху:

  1. Точное определение всех параметров (sitekey, action, minScore)
  2. Эксперименты с разными значениями score и action
  3. Обязательное использование системы репортов
  4. Мониторинг качества решений и быстрая адаптация под изменения сайта

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