reCAPTCHA V2 Invisible
Invisible reCAPTCHA V2 — вариант reCAPTCHA, который не показывается пользователю, пока система не заподозрит бота. Обычно висит на форме или привязана к клику по кнопке, а элемент капчи спрятан за пределами экрана (например, top: -10000px).
Как определить
- В конфигурации reCAPTCHA указано
size=invisible - DOM-элемент капчи расположен за пределами видимой области экрана
- Чекбокс «Я не робот» визуально отсутствует
Формат запроса
/in.phpkeystringобязателенВаш API-ключ (32 символа)
methodstringобязателенЗначение: userrecaptcha
googlekeystringобязателенSitekey со страницы (data-sitekey или iframe k=)
pageurlstringобязателенПолный URL-адрес, на котором отображается reCAPTCHA
invisibleinteger (0/1)по умолчанию: 1обязателенОбязательно 1 — иначе решение может не пройти проверку
domainstringпо умолчанию: google.comопциональноgoogle.com или recaptcha.net
data-sstringопциональноЗначение data-s. Применимо для поиска Google и других сервисов Google
userAgentstringопциональноUser-Agent, передаваемый в браузер решателя
cookiesstringопциональноФормат: KEY1:Value1;KEY2:Value2;
proxystringопциональноФормат: login:password@123.123.123.123:3128
proxytypestringопциональноТип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
jsoninteger (0/1)по умолчанию: 0опционально0 — ответ текстом, 1 — ответ JSON
invisible=1 обязателен
Без этого флага решение может не пройти валидацию на стороне сайта — сервис решает капчу иначе для видимого и невидимого режима.
Как решать капчу
Шаг 1. Найдите ключ сайта
Найдите атрибут data-sitekey в HTML или параметр k в URL скрипта reCAPTCHA. Зафиксируйте полный URL страницы.
Шаг 2. Отправьте задачу нам
curl -G "https://captcha-api.iwhat.pw/in.php" \
-d key=YOUR_API_KEY \
-d method=userrecaptcha \
-d googlekey=6LfR8AoZAAAAAHcVx2Ns5rWtQbYmU9pKjDzL0eGa \
-d pageurl=https://example.com/page \
-d invisible=1 \
-d json=1import requests
params = {
'key': 'YOUR_API_KEY',
'method': 'userrecaptcha',
'googlekey': '6LfR8AoZAAAAAHcVx2Ns5rWtQbYmU9pKjDzL0eGa',
'pageurl': 'https://example.com/page',
'invisible': '1',
'json': '1'
}
response = requests.get('https://captcha-api.iwhat.pw/in.php', params=params)
result = response.json()
task_id = result['request']
print(f"ID задачи: {task_id}")const params = new URLSearchParams({
key: 'YOUR_API_KEY',
method: 'userrecaptcha',
googlekey: '6LfR8AoZAAAAAHcVx2Ns5rWtQbYmU9pKjDzL0eGa',
pageurl: 'https://example.com/page',
invisible: '1',
json: '1',
});
const res = await fetch(`https://captcha-api.iwhat.pw/in.php?${params}`);
const { request: taskId } = await res.json();
console.log(`ID задачи: ${taskId}`);Шаг 3. Получение решения
import time
time.sleep(15)
result = requests.get('https://captcha-api.iwhat.pw/res.php', params={
'key': 'YOUR_API_KEY',
'action': 'get',
'id': task_id,
'json': '1',
}).json()
if result['status'] == 1:
token = result['request']
print(f"Токен решения: {token}")Шаг 4. Вставьте токен и запустите действие
driver.execute_script(f'document.getElementById("g-recaptcha-response").innerHTML = "{token}";')
# Сразу же выполните защищённое действие (клик по кнопке, submit формы)
driver.find_element_by_id('protected-form').submit()Если капча привязана к callback-функции вместо скрытого поля — см. reCAPTCHA V2 Callback.
Формат ответа
JSON-ответ (при json=1):
{
"status": 1,
"request": "03AL8dmw2vRfQmYtKz9NcXwbLpJoV6TsAeHg1nDkR..."
}Распространённые ошибки
| Код | Описание |
|---|---|
ERROR_WRONG_USER_KEY | Неверный формат API-ключа |
ERROR_KEY_DOES_NOT_EXIST | Такого API-ключа не существует |
ERROR_ZERO_BALANCE | Недостаточно средств на балансе |
ERROR_PAGEURL | Отсутствует параметр pageurl |
ERROR_WRONG_GOOGLEKEY | sitekey пустой или в неверном формате |
CAPCHA_NOT_READY | Решение ещё не готово, подождите 5 сек |