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

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

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

Как обойти Google reCAPTCHA v3

Катя Пушкаренва

Технический специалист

Обход reCAPTCHA v3: Способы для автоматеческого решения  и обхода

Если reCAPTCHA v2 заставляла пользователей искать светофоры и гидранты, то reCAPTCHA v3 действует скрытно. Она не прерывает работу пользователя, а анализирует его поведение на сайте и присваивает рейтинг доверия — Trust Score (от 0.0 до 1.0).

Главная проблема: "Почему меня блокируют с валидным токеном?"

При парсинге сайтов с v3 часто возникает ситуация: вы получили токен от решателя (солвера), но сайт всё равно блокирует доступ.
Причина: Ваш Score оказался слишком низким (обычно 0.1 или 0.3), и сервер считает вас ботом.

В отличие от v2, здесь решение капчи — это не просто "правильный ответ", а доказательство "человечности" всего вашего запроса.

Почему скрипт получает Score 0.1?

Google анализирует три критических уровня данных:

  1. Сетевые отпечатки (TLS Fingerprinting)
    Это самая частая причина провала в 2025 году. Стандартные библиотеки (например, Python requests) имеют специфический порядок шифров при SSL-рукопожатии (JA3 fingerprint). Google видит это и помечает запрос как автоматизированный, даже если сам токен валиден.
  2. Репутация IP-адреса
    IP-адреса дата-центров (AWS, DigitalOcean, Hetzner) по умолчанию имеют низкий траст. Запросы с них часто блокируются автоматически.
  3. Поведенческие факторы и Action
    Отсутствие движений мыши, неестественные тайминги и неверный параметр action гарантированно снижают рейтинг.

Подготовка инструментов

Чтобы Google принял нас за человека, нам понадобятся инструменты, имитирующие реальный браузер, и качественные прокси. Мы будем использовать curl_cffi для подделки TLS-отпечатков на уровне запросов и seleniumbase для браузерной автоматизации.

Установка библиотек:

bash Copy
pip install 2captcha-python curl_cffi seleniumbase

Способ 1: Обход на уровне запросов (Python + API)

Этот метод быстрее и потребляет меньше ресурсов, так как не требует запуска браузера. Главный секрет здесь — использование библиотеки, которая умеет притворяться Chrome или Safari на сетевом уровне.

Шаг 1: Получение токена через RuCaptcha

Важно: Критически важно передать правильный параметр action. В v3 токены привязаны к конкретному действию (например, login, submit, verify). Если вы пришлете токен с action homepage на страницу входа, Score упадет.

Как найти action? Откройте консоль браузера (F12) на целевом сайте и поищите grecaptcha.execute. Значение будет внутри скобок, например: {action: 'login'}.

python Copy
import sys
import os
from twocaptcha import TwoCaptcha

# Инициализация солвера
solver = TwoCaptcha('ВАШ_API_KEY')

try:
    print("Отправляем задачу воркеру...")
    result = solver.recaptcha(
        sitekey='6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI', # Ищите data-sitekey в HTML
        url='[https://example.com/login](https://example.com/login)',
        version='v3',
        action='login',   # Обязательно проверьте это значение на сайте!
        min_score=0.3     # Требуем от воркера минимальный рейтинг
    )
    
    token = result['code']
    print(f"Токен получен: {token[:20]}...")

except Exception as e:
    sys.exit(e)

Шаг 2: Отправка токена на сайт (TLS Masquerading)

Теперь отправляем POST-запрос с полученным токеном, маскируясь под браузер Chrome 110 с помощью curl_cffi. Обычный requests здесь, скорее всего, провалится.

python Copy
from curl_cffi import requests

# URL, куда отправляется форма (endpoint, а не сама страница с капчей)
target_url = "[https://example.com/api/login](https://example.com/api/login)"

headers = {
    # User-Agent должен совпадать с тем, что использовал воркер (желательно)
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...",
    "Referer": "[https://example.com/login](https://example.com/login)"
}

data = {
    "username": "user",
    "password": "password",
    "g-recaptcha-response": token  # Вставляем токен
}

# Параметр impersonate="chrome110" подменяет TLS-отпечаток
response = requests.post(
    target_url, 
    data=data, 
    headers=headers, 
    impersonate="chrome110"
)

if response.status_code == 200:
    print("Успешный вход!")
else:
    print("Ошибка или низкий Score.")

Способ 2: Браузерная автоматизация (SeleniumBase)

Обычный Selenium WebDriver легко детектируется антифрод-системами (параметр navigator.webdriver = true выдает бота с головой).

Лучше использовать SeleniumBase в режиме UC Mode (Undetected Chromedriver). Он автоматически патчит драйвер, скрывая признаки автоматизации, что позволяет проходить проверки Score.

python Copy
from seleniumbase import SB
from twocaptcha import TwoCaptcha

api_key = "ВАШ_API_KEY"
solver = TwoCaptcha(api_key)

# Запускаем браузер в режиме UC (Undetected)
with SB(uc=True) as sb:
    sb.open("[https://example.com/login](https://example.com/login)")
    
    # 1. Решаем капчу параллельно загрузке страницы
    print("Решаем капчу...")
    result = solver.recaptcha(
        sitekey='6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI',
        url=sb.get_current_url(),
        version='v3',
        action='login'
    )
    token = result['code']
    
    # 2. Внедряем токен через JavaScript
    # В v3 токен обычно лежит в скрытом input или передается в callback
    sb.execute_script(f"""
        document.getElementById('g-recaptcha-response').value = '{token}';
    """)
    
    # Иногда нужно вызвать callback функцию сайта вручную (ищите data-callback)
    # sb.execute_script(f"loginCallback('{token}')")
    
    sb.click("#login-button") 
    print("Форма отправлена")

Чек-лист: Если Score всё равно низкий

Если вы получаете токен, но сайт вас блокирует, проблема почти всегда в окружении. Проверьте эти три пункта:

  • 1. Качество прокси
    Используйте Резидентные прокси (Residential Proxies). IP-адреса дата-центров получают низкий Score автоматически.

    Совет: В API RuCaptcha можно передать параметры вашего прокси (proxy, proxytype). Тогда воркер будет решать капчу через тот же IP, с которого вы пойдете на сайт. Это значительно повышает доверие Google.

  • 2. Совпадение User-Agent
    Если воркер решал задачу на Windows/Chrome, а вы отправляете токен с заголовком Linux/Firefox — это красный флаг. Используйте User-Agent, который возвращает API RuCaptcha вместе с токеном, либо задайте жесткий User-Agent при создании задачи.

  • 3. Google Testing Keys
    Чтобы не тратить баланс при отладке скрипта, используйте официальные тестовые ключи Google. Капча будет работать, но всегда возвращать высокий Score.

    Тип ключа Значение
    Site key 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
    Secret key 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe

    Важно: Не забудьте вернуть реальный ключ сайта перед запуском в продакшн.

SDK

У RuCaptcha есть SDK практически для языков прогарммирования. В документации API библиотеки для Java, C#, Go, PHP и даже Node.js. Логика при этом остаётся точно такой же: отправить SiteKey → получить токен → вставить токен.

Заключение

Обход reCAPTCHA v3 — это битва за репутацию. Использование API RuCaptcha решает главную задачу: вы получаете токен от реального человека с хорошей историей. Вам остается лишь грамотно доставить этот токен, используя curl_cffi или SeleniumBase и качественные прокси, чтобы не вызвать подозрений на этапе отправки формы.