Какобойти капчу Google reCAPTCHA
Как обойти Google reCAPTCHA
Что такое Google reCAPTCHA
Google reCAPTCHA — это сервис, предназначенный для защиты веб-сайтов от спама и злоупотреблений путем различения между человеческими пользователями и автоматическими ботами. Он работает, представляя задачи, которые легко решаются людьми, но трудны для ботов. Система помогает предотвратить такие вредоносные действия, как веб-скрапинг, атаки методом подбора и спам-отправки на формы.
Google reCAPTCHA использует методы машинного обучения и анализа рисков для улучшения своей точности со временем, помогая предотвратить более сложные типы ботов и автоматические злоупотребления.
Виды Google reCAPTCHA
-
reCAPTCHA v2: Это самая распространенная версия, в которой пользователю предлагается поставить галочку ("Я не робот"). В некоторых случаях система может также потребовать решить задачу на распознавание изображений (например, выбрать все изображения с машинами или светофорами), чтобы подтвердить, что пользователь является человеком.
-
reCAPTCHA v3: Вместо того чтобы требовать от пользователя явного взаимодействия, reCAPTCHA v3 работает в фоновом режиме и присваивает ему оценку (от 0 до 1) на основе его поведения на сайте. Эта оценка помогает определить вероятность того, что пользователь является ботом.
-
Invisible reCAPTCHA: Эта версия работает аналогично reCAPTCHA v2, но без необходимости нажимать на галочку. Она появляется только при необходимости, например, если система подозревает, что пользователь может быть ботом.
-
Enterprise reCAPTCHA: Это премиальная версия сервиса Google reCAPTCHA, предназначенная для бизнеса и организаций, которым нужны дополнительные функции, настройки и поддержка для защиты своих сайтов и приложений. Она обеспечивает повышенную безопасность, больший контроль над пользовательским опытом и лучшую интеграцию с корпоративными системами.
Как автоматически решить Google reCAPTCHA с API v2
1. Использование API 2Captcha
2Captcha позволяет автоматически распознавать Google reCAPTCHA с API v2.
Общий процесс:
- Найти ключ сайта (sitekey) на целевой странице.
- Отправить его в 2Captcha API v2.
- Получить токен с решением.
- Вставить токен в форму и отправить.
Пример запроса для решения reCAPTCHA v2
Отправка задания:
curl -X POST "https://api.2captcha.com/createTask" \
-H "Content-Type: application/json" \
-d '{
"clientKey": "ВАШ_API_КЛЮЧ",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "КЛЮЧ_САЙТА"
}
}'
Ответ (ID задания):
{
"errorId": 0,
"taskId": 123456789
}
Запрос решения:
curl -X POST "https://api.2captcha.com/getTaskResult" \
-H "Content-Type: application/json" \
-d '{
"clientKey": "ВАШ_API_КЛЮЧ",
"taskId": 123456789
}'
Ответ с решением:
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq25fN2f..."
}
}
Токен (gRecaptchaResponse
) нужно вставить в скрытое поле формы и отправить.
2. Использование Python для API v2
Если вы используете Python, вот пример автоматического решения reCAPTCHA v2 через 2Captcha:
import time
import requests
API_KEY = "ВАШ_API_КЛЮЧ"
SITE_KEY = "КЛЮЧ_САЙТА"
PAGE_URL = "https://example.com"
# 1. Отправка задачи в 2Captcha API v2
create_task_url = "https://api.2captcha.com/createTask"
task_payload = {
"clientKey": API_KEY,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": PAGE_URL,
"websiteKey": SITE_KEY
}
}
task_response = requests.post(create_task_url, json=task_payload).json()
if task_response["errorId"] != 0:
raise Exception("Ошибка при отправке задачи:", task_response)
task_id = task_response["taskId"]
print("Task ID:", task_id)
# 2. Ожидание решения
time.sleep(20) # Даём системе 2Captcha время обработать запрос
get_result_url = "https://api.2captcha.com/getTaskResult"
for _ in range(10): # Пробуем 10 раз с интервалом в 5 секунд
result_payload = {"clientKey": API_KEY, "taskId": task_id}
result_response = requests.post(get_result_url, json=result_payload).json()
if result_response["status"] == "ready":
captcha_solution = result_response["solution"]["gRecaptchaResponse"]
print("Решение:", captcha_solution)
break
print("Ожидание...")
time.sleep(5)
Токен, полученный в captcha_solution
, нужно вставить в поле g-recaptcha-response
и отправить форму.
3. Использование API v2 для reCAPTCHA v3
Для reCAPTCHA v3 используется другой тип задачи RecaptchaV3TaskProxyless
, который требует action и минимальный балл (score).
Запрос на решение reCAPTCHA v3:
curl -X POST "https://api.2captcha.com/createTask" \
-H "Content-Type: application/json" \
-d '{
"clientKey": "ВАШ_API_КЛЮЧ",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "КЛЮЧ_САЙТА",
"minScore": 0.3,
"pageAction": "login"
}
}'
Ответ (ID задания):
{
"errorId": 0,
"taskId": 987654321
}
Запрос решения:
curl -X POST "https://api.2captcha.com/getTaskResult" \
-H "Content-Type: application/json" \
-d '{
"clientKey": "ВАШ_API_КЛЮЧ",
"taskId": 987654321
}'
Ответ с решением:
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq25fN2f..."
}
}
Токен gRecaptchaResponse
вставляется в форму, аналогично reCAPTCHA v2.
Полезные руководства
- Как найти ключ сайта Google reCAPTCHA
- Распознавание reCAPTCHA: обход с использованием метода сетки
- Как автоматически решить и обойти reCAPTCHA с Puppeteer и Auto Captcha Filler
- Как автоматически решить и обойти reCAPTCHA с Selenium и Auto Captcha Filler
- Как обойти CAPTCHA с помощью JavaScript
Заключение
Автоматизация решения Google reCAPTCHA с использованием API 2Captcha значительно упрощает процесс взаимодействия с защищенными веб-сайтами. Это особенно полезно для задач, связанных с автоматизацией, веб-скрапингом и тестированием. Следуя приведенным инструкциям и примерам, вы сможете эффективно интегрировать решение reCAPTCHA в свои проекты, минимизируя время и усилия, затрачиваемые на обход капчи.
Для более глубокого изучения возможностей API 2Captcha и расширения функциональности ваших приложений, посетите официальную документацию. Это руководство поможет вам оптимизировать рабочие процессы и повысить эффективность автоматизации.
Полезные ссылки:
- Документация API V2
- Документация по обходу reCAPTCHA с использованием API V2
- Примеры кода с использованием API V1 и официальных библиотек расположены на GitHub:
python | javascript | go | ruby | php | java | csharp | c++