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

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

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

Как обойти и решить капчу GeeTest V4 автоматически

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

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

Введение

Если вы автоматизируете взаимодействие с сайтами, защищёнными капчей GeeTest версии 4, это руководство поможет вам настроить интеграцию с сервисом RuCaptcha.

GeeTest V4 — это современная система защиты, которая использует интерактивные задачи и поведенческий анализ. В отличие от версии 3, V4 не требует извлечения динамического параметра challenge, что упрощает подготовку запроса и повышает стабильность решения.

В статье мы разберём оба метода отправки задач: без прокси (GeeTestTaskProxyless) и с прокси (GeeTestTask), а также покажем актуальные примеры запросов в формате JSON.

Общие сведения

Что такое GeeTest V4

GeeTest V4 — это эволюция популярной капчи, которая сочетает визуальные задачи с анализом поведения пользователя. Основные особенности версии 4:

  • Упрощённая интеграция: не нужно извлекать challenge
  • Статический идентификатор captcha_id для каждого сайта
  • Возвращает набор токенов: lot_number, pass_token, gen_time, captcha_output
  • Поддержка как proxyless, так и proxy-режима

Типы задач в API RuCaptcha

Тип задачи Описание Когда использовать
GeeTestTaskProxyless Решение через внутренние прокси RuCaptcha Если сайт не блокирует дата-центры и не требует резидентные IP
GeeTestTask Решение с указанием вашего прокси Если сайт проверяет геолокацию, блокирует облачные IP или требует сессии

Параметры задачи GeeTest V4

Параметр Тип Обязательно Описание
type String Да GeeTestTaskProxyless или GeeTestTask
websiteURL String Да Полный URL страницы, где загружается капча
version Integer Да Должен быть установлен в 4 для GeeTest V4
initParameters Object Да Параметры из initGeetest4, обязательно должен содержать captcha_id
proxyType String Нет* Тип прокси: http, https, socks4, socks5 (только для GeeTestTask)
proxyAddress String Нет* IP-адрес прокси (только для GeeTestTask)
proxyPort String Нет* Порт прокси (только для GeeTestTask)
proxyLogin String Нет* Логин прокси, если требуется авторизация
proxyPassword String Нет* Пароль прокси, если требуется авторизация

* Обязательны только при использовании типа задачи GeeTestTask

Подготовка окружения

Требования к запросам

Для работы с API RuCaptcha вам понадобится:

  • API-ключ из личного кабинета rucaptcha.com
  • HTTPS-клиент для отправки POST-запросов (curl, Postman, библиотека в вашем языке)
  • Валидный captcha_id с целевого сайта
  • Полный URL страницы, где отображается капча

Получение API-ключа

  1. Авторизуйтесь в личном кабинете RuCaptcha
  2. Перейдите в раздел настроек аккаунта
  3. Скопируйте ваш clientKey (API-ключ)
  4. Для безопасности храните ключ в переменной окружения, а не в коде

Анализ страницы

Поиск captcha_id

Для GeeTest V4 параметр captcha_id является статическим и обычно содержится в исходном коде страницы.

Способ 1: через DevTools

  1. Откройте целевую страницу в браузере
  2. Нажмите F12 для открытия инструментов разработчика
  3. Перейдите на вкладку Elements
  4. Найдите элемент с атрибутом data-geetest или вызов initGeetest4

Пример HTML:

html Copy
<div id="geetest-captcha" data-geetest="e392e1d7fd421dc63325744d5a2b9c73"></div>

Значение атрибута — это captcha_id.

Способ 2: через вкладку Network

  1. В DevTools перейдите на вкладку Network
  2. Обновите страницу с капчей
  3. Отфильтруйте запросы по geetest или captcha
  4. Найдите запрос к gcaptcha4.geetest.com/load — параметр captcha_id будет в ответе или в параметрах запроса

Проверка websiteURL

Убедитесь, что вы указываете полный URL страницы, включая протокол:

  • Правильно: https://2captcha.com/demo/geetest-v4
  • Неправильно: 2captcha.com/demo/geetest-v4 или /demo/geetest-v4

Реализация

Пример запроса: GeeTestTaskProxyless (без прокси)

Метод: createTask
Эндпоинт: https://api.rucaptcha.com/createTask

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GeeTestTaskProxyless",
    "websiteURL": "https://2captcha.com/demo/geetest-v4",
    "version": 4,
    "initParameters": {
      "captcha_id": "e392e1d7fd421dc63325744d5a2b9c73"
    }
  }
}

Пример запроса: GeeTestTask (с прокси)

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GeeTestTask",
    "websiteURL": "https://2captcha.com/demo/geetest-v4",
    "version": 4,
    "initParameters": {
      "captcha_id": "e392e1d7fd421dc63325744d5a2b9c73"
    },
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": "8080",
    "proxyLogin": "user23",
    "proxyPassword": "p4$w0rd"
  }
}

Получение результата

После создания задачи используйте метод getTaskResult для получения решения.

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

Запрос:

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "taskId": 74455221488
}

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

json Copy
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "captcha_id": "e392e1d7fd421dc63325744d5a2b9c73",
    "lot_number": "e6c3bed2854f41f880662c48afff5dcb",
    "pass_token": "fad5eb52fc83bf7617402fcccfb211a21e0aa1d1044",
    "gen_time": "1693924478",
    "captcha_output": "fN36ufW6cQN4SQ-JRDQC70nSq9UcQBg=="
  },
  "cost": "0.00299",
  "ip": "1.2.3.4",
  "createTime": 1692863536,
  "endTime": 1692863556,
  "solveCount": 1
}

Использование решения на целевом сайте

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

  • lot_number
  • pass_token
  • gen_time
  • captcha_output

Эти значения часто передаются в теле POST-запроса или в заголовках. Перехватите оригинальный запрос через DevTools (вкладка Network) и воспроизведите его, подставив полученные токены.

Обработка ошибок API

Если в ответе errorId не равен 0, проверьте поле errorDescription:

json Copy
{
  "errorId": 1,
  "errorCode": "ERROR_WRONG_USER_KEY",
  "errorDescription": "You've provided an invalid API key"
}

Распространённые коды ошибок:

Код ошибки Описание Решение
ERROR_WRONG_USER_KEY Неверный API-ключ Проверьте clientKey в личном кабинете
ERROR_ZERO_BALANCE Недостаточно средств Пополните баланс аккаунта
ERROR_BAD_PARAMETERS Некорректные параметры задачи Проверьте формат captcha_id, websiteURL, version
ERROR_PROXY_CONNECT_REFUSED Не удалось подключиться к прокси Проверьте данные прокси и его доступность
ERROR_CAPTCHA_UNSOLVABLE Капча не может быть решена Убедитесь, что captcha_id актуален и страница доступна

Дополнительные ресурсы

Контрольный список

  • Получен и проверен API-ключ из личного кабинета RuCaptcha
  • Извлечён актуальный captcha_id из исходного кода целевого сайта
  • Указан полный websiteURL с протоколом https://
  • Для GeeTest V4 установлен параметр "version": 4
  • Объект initParameters содержит ключ captcha_id
  • При использовании прокси проверены все поля: тип, адрес, порт, логин, пароль
  • Добавлена обработка ошибок по кодам errorId и errorCode
  • Протестирована отправка полученного решения на целевой сайт
  • Настроено логирование запросов и ответов для отладки

Заключение

GeeTest V4 предлагает более простую интеграцию по сравнению с предыдущей версией: вам не нужно извлекать динамический challenge, достаточно статического captcha_id и полного URL страницы.

Сервис RuCaptcha поддерживает два метода решения: GeeTestTaskProxyless для быстрого старта и GeeTestTask для случаев, когда требуется контроль над прокси. Оба метода возвращают одинаковый набор токенов: lot_number, pass_token, gen_time, captcha_output, которые необходимо передать на целевой сайт для верификации.

Интеграция с RuCaptcha позволяет делегировать сложную часть обхода капчи специализированному сервису, сосредоточив усилия на логике вашего приложения. При соблюдении параметров из этого руководства вы сможете стабильно решать GeeTest V4 на любых сайтах.