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

Туториалы по обходу капчи

Как обойти reCAPTCHA v2 callback

Как обойти reCAPTCHA v2 callback

Вы разрабатываете парсер или автоматизируете тесты, но сталкиваетесь с reCAPTCHA? Эта статья покажет, как программно извлекать ключевые параметры капчи (sitekey, version, callback) со страницы и использовать их для обхода защиты через API-сервисы. Вы научитесь запускать готовый скрипт в консоли браузера, отправлять задачи на решение и корректно встраивать токен обратно в форму.


Быстрый старт

  1. Откройте страницу с reCAPTCHA в браузере → F12 → вкладка Console
  2. Вставьте код функции findRecaptchaClients() из GitHub Gist
  3. Выполните findRecaptchaClients() и скопируйте sitekey, version, pageurl
  4. Отправьте задачу в сервис решения капчи через API
  5. Получите токен и подставьте его в поле #g-recaptcha-response или передайте с помощью callback функции.

Видео-руководство

Предпочитаете учиться наглядно? Наш видео-туториал охватывает всё, что есть в этой статье, с живой демонстрацией:

Смотреть полное видео-руководство



Что внутри видео:

  • Демонстрация в реальном времени: Смотрите весь рабочий процесс от начала до конца на живой тестовой странице
  • Работа с консолью: Точно увидите, как вставить и запустить findRecaptchaClients() без ошибок
  • Извлечение параметров: Научитесь читать JSON-вывод и определять, какие значения важны
  • Интеграция с API: Увидите, как составить API-запрос с извлечёнными параметрами
  • Внедрение токена: Визуальная демонстрация внедрения токена и вызова callback функции
  • Типичные ошибки: Увидите распространённые ошибки и способы их избежания в реальном времени

Длительность видео: ~1 минута
Сложность: Подходит для начинающих — предварительный опыт не требуется

💡 Совет: Сначала посмотрите видео, чтобы получить общее представление, затем используйте эту статью как справочник при внедрении на своём проекте.


Подробная инструкция

🔹 Шаг 1: Подготовка и открытие консоли

  • Загрузите целевую страницу в Chrome/Firefox
  • Убедитесь, что виджет reCAPTCHA полностью отрисовался (иногда требуется скролл или клик)
  • Откройте DevTools: F12 или Ctrl+Shift+I → вкладка Console

🔹 Шаг 2: Запуск скрипта findRecaptchaClients

  • Скопируйте код функции из официального гиста
  • Вставьте в консоль и нажмите Enter
  • Выполните команду:
    javascript Copy
    findRecaptchaClients()

🔹 Шаг 3: Анализ результата и извлечение параметров

Скрипт вернёт массив объектов. Пример:

json Copy
[
  {
    "id": "0",
    "version": "V2",
    "sitekey": "6LcTmlolAAAAAKcDAZQE0o-1rBJ4R2xz...",
    "callback": "___grecaptcha_cfg.clients['0']['C']['C']['callback']",
    "pageurl": "https://example.com/login"
  }
]

Что копировать:

  • sitekey — уникальный ключ сайта
  • version — V2 (checkbox) или V3 (невидимая)
  • pageurl — точный URL страницы (важен для валидации)
  • callback — опционально, если есть явная функция обработки

🔹 Шаг 4: Отправка задачи в сервис

Пример на Python для reCAPTCHA v2:

python Copy
import requests, time

API_KEY = 'ваш_ключ'
response = requests.post('https://api.rucaptcha.com/createTask', json={
    'clientKey': API_KEY,
    'task': {
        'type': 'RecaptchaV2TaskProxyless',
        'websiteURL': 'https://example.com/login',
        'websiteKey': '6LcTmlolAAAAAKcDAZQE0o-1rBJ4R2xz...'
    }
})
task_id = response.json()['taskId']

# Ожидание решения
while True:
    res = requests.post('https://api.rucaptcha.com/getTaskResult', json={
        'clientKey': API_KEY, 'taskId': task_id
    }).json()
    if res['status'] == 'ready':
        token = res['solution']['gRecaptchaResponse']
        break
    time.sleep(5)

🔹 Шаг 5: Внедрение токена обратно на страницу

python Copy
# Подстановка токена в скрытое поле
driver.execute_script(
    f"document.getElementById('g-recaptcha-response').value = '{token}';"
)
# Вызов callback, если он есть
if callback:
    driver.execute_script(f"{callback}('{token}')")
# ИЛИ просто отправьте форму, если callback отсутствует

Сравнение решений

Метод Плюсы Минусы Когда использовать
Ручной поиск в HTML Не требует скриптов Ненадёжно, параметры скрыты Только для простых случаев
Скрипт findRecaptchaClients Автоматически находит все капчи на странице, извлекает callback Требует запуска в консоли Основной рекомендуемый способ
Расширения браузера Удобный UI Могут устаревать, ограниченный функционал Для разовых задач
Headless-скрапинг с Puppeteer/Playwright Полная автоматизация Сложнее в настройке, требует ресурсов Для продакшен-парсеров

Ошибки и отладка

Ошибка Вероятная причина Решение
Скрипт возвращает [] Капча не загрузилась / динамическая подгрузка Дождитесь появления виджета, добавьте setTimeout или триггер-событие
callback is not a function Callback внутри iframe / не экспортирован глобально Переключитесь на iframe: driver.switch_to.frame(...) перед выполнением
Токен отклоняется сайтом Несовпадение pageurl, истёк срок токена Проверьте точность URL (включая / в конце), используйте токен сразу
Повторные запросы блокируются Сайт детектирует аномальную активность Добавьте задержки, используйте прокси, ротируйте User-Agent

Совет для динамических капч:
Запускайте findRecaptchaClients() непосредственно перед каждым запросом — не кэшируйте sitekey надолго.


FAQ

Q: А если на странице несколько капч?
A: Скрипт вернёт массив — выберите нужный объект по pageurl или визуальному расположению.

Q: Можно ли использовать этот метод для hCaptcha или Cloudflare?
A: Нет, скрипт работает только с reCAPTCHA. Для других защит нужны отдельные решения.

Q: Как проверить, что токен валидный, до отправки формы?
A: Отправьте его на верификацию через Google Site Verify API (требуется secret-ключ сайта).

Q: Что делать, если сайт использует Enterprise-версию reCAPTCHA?
A: Принцип тот же, но может потребоваться дополнительная эмуляция поведенческих сигналов.

Q: Безопасно ли хранить API-ключ в коде?
A: Нет. Используйте переменные окружения или секреты вашего CI/CD.


Итоги

Вы научились:

  • Находить sitekey, version, callback через консоль браузера
  • Отправлять задачи в сервис решения капч
  • Корректно встраивать токен в страницу для обхода защиты

Что делать дальше:

  1. Протестируйте скрипт на вашей целевой странице
  2. Интегрируйте пример кода в ваш парсер/тест
  3. Настройте обработку ошибок и логирование
  4. Для продакшена добавьте ротацию прокси и задержки

Полезные ресурсы:

Нужна помощь?
Напишите в поддержку сервиса — команда отвечает быстро и поможет с интеграцией.

Совет напоследок: Всегда проверяйте актуальность параметров при каждом запуске — сайты могут менять реализацию капчи без предупреждения.