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

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

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

Как решить GeeTest v4 на сайте Avito.ru

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

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

Введение

Это руководство для разработчиков, которые автоматизируют работу с Avito.ru и сталкиваются с капчей GeeTest v4. Мы покажем, как получить необходимые параметры со страницы, отправить задачу в RuCaptcha и корректно передать решение на сервер Avito.

Что потребуется:

  • API-ключ из личного кабинета RuCaptcha
  • Понимание работы с HTTP и JSON
  • Прокси, соответствующий региону
  • Инструменты для отладки: браузер с DevTools, curl или Postman

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

На Avito.ru используется защита GeeTest v4 в формате слайдера. Капча появляется при подозрительной активности: частые запросы, отсутствие куки, нестандартные заголовки.

Для успешного прохождения необходимо:

  1. Получить captcha_id со страницы Avito (фиксированное значение)
  2. Отправить задачу в RuCaptcha с указанием version: 4
  3. Получить решение с четырьмя полями: lot_number, pass_token, gen_time, captcha_output
  4. Передать эти данные в эндпоинт верификации Avito с корректными заголовками и куки

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

Перед началом работы:

  • Получите API-ключ в личном кабинете RuCaptcha
  • Убедитесь, что целевая страница на Avito доступна и отображает капчу при необходимости
  • Настройте хранение ключа в переменной окружения, а не в коде

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

Поиск captcha_id

  1. Откройте DevTools (F12) на странице Avito, где появляется капча
  2. Перейдите во вкладку Elements
  3. Найдите элемент с атрибутом data-geetest:
html Copy
<div class="geetest_widget" data-geetest="2d9c743cf7d63dbc9db578a608196bcd"></div>

Значение 2d9c743cf7d63dbc9db578a608196bcd — это captcha_id для Avito. Оно постоянно для всего домена.

Ключевые сетевые запросы

Во вкладке Network отфильтруйте запросы по firewallCaptcha. Вам понадобятся:

  • Эндпоинт верификации: https://www.avito.ru/web/1/firewallCaptcha/verify
  • Метод: POST
  • Content-Type: application/json

Также обратите внимание на заголовки запроса, особенно:

  • User-Agent
  • Referer
  • Origin
  • Cookie

Эти данные необходимо воспроизвести при отправке решения.


Реализация

Шаг 1. Создание задачи в RuCaptcha

Отправьте POST-запрос на https://api.rucaptcha.com/createTask:

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GeeTestTaskProxyless",
    "websiteURL": "https://www.avito.ru/moskva/kvartiry/prodam",
    "version": 4,
    "initParameters": {
      "captcha_id": "2d9c743cf7d63dbc9db578a608196bcd"
    }
  }
}

Шаг 2. Использование прокси (опционально)

Если вы управляете прокси самостоятельно, замените тип задачи на GeeTestTask и добавьте параметры:

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GeeTestTask",
    "websiteURL": "https://www.avito.ru/moskva/kvartiry/prodam",
    "version": 4,
    "initParameters": {
      "captcha_id": "2d9c743cf7d63dbc9db578a608196bcd"
    },
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080,
    "proxyLogin": "user",
    "proxyPassword": "pass"
  }
}

Шаг 3. Получение решения

Опрашивайте https://api.rucaptcha.com/getTaskResult с параметром taskId, пока статус не станет ready.

Пример ответа:

json Copy
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "captcha_id": "2d9c743cf7d63dbc9db578a608196bcd",
    "lot_number": "e6c3bed2854f41f880662c48afff5dcb",
    "pass_token": "fad5eb52fc83bf7617402fcccfb211a21e0aa1d1044",
    "gen_time": "1693924478",
    "captcha_output": "fN36ufW6cQN4SQ-JRDQC70nSq9UcQBg=="
  }
}

Шаг 4. Отправка решения на Avito

Сформируйте POST-запрос на https://www.avito.ru/web/1/firewallCaptcha/verify:

json Copy
{
  "captcha_id": "2d9c743cf7d63dbc9db578a608196bcd",
  "lot_number": "e6c3bed2854f41f880662c48afff5dcb",
  "pass_token": "fad5eb52fc83bf7617402fcccfb211a21e0aa1d1044",
  "gen_time": "1693924478",
  "captcha_output": "fN36ufW6cQN4SQ-JRDQC70nSq9UcQBg=="
}

Обязательные условия:

  • Заголовки User-Agent, Referer, Origin должны совпадать с браузерной сессией
  • Куки должны быть актуальными и получены из той же сессии
  • Метод запроса — POST, Content-Type: application/json

Пример заголовков:

http Copy
POST /web/1/firewallCaptcha/verify HTTP/1.1
Host: www.avito.ru
Content-Type: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Referer: https://www.avito.ru/moskva/kvartiry/prodam
Origin: https://www.avito.ru
Cookie: srv_id=...; u=...; v=...

Пояснения к интеграции

Почему именно эти параметры

Avito использует фиксированный captcha_id для всего домена. Это упрощает интеграцию: не нужно извлекать значение динамически при каждом запуске.

Четыре поля решения (lot_number, pass_token, gen_time, captcha_output) формируются сервером GeeTest после успешного прохождения интерактивной задачи. Без любого из них верификация на стороне Avito завершится ошибкой.

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

Если ответ от /firewallCaptcha/verify содержит "verified": false, проверьте:

  • Все ли поля решения переданы
  • Совпадают ли заголовки и куки с браузерной сессией
  • Не истёк ли срок действия токенов (они одноразовые)

При повторяющихся ошибках увеличьте паузу между получением решения и его отправкой — иногда требуется время на синхронизацию сессий.


Типичные ошибки

Ошибка Причина Решение
verified: false от Avito Отсутствует одно из четырёх полей решения Проверьте наличие lot_number, pass_token, gen_time, captcha_output
Капча не появляется Нет триггеров для показа защиты Эмулируйте поведение пользователя: задержки, реальные заголовки, куки
Таймаут при опросе результата Долгое решение или очередь Увеличьте интервал опроса до 10 секунд, настройте таймаут клиента
Блокировка по IP Частые запросы с одного адреса Используйте резидентные прокси с российским IP, добавляйте паузы
Несоответствие заголовков Заголовки запроса отличаются от браузерных Скопируйте User-Agent, Referer, Origin из DevTools

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


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

  • Получен и проверен API-ключ из личного кабинета RuCaptcha
  • Подтверждён captcha_id для Avito: 2d9c743cf7d63dbc9db578a608196bcd
  • В задаче указан version: 4 и initParameters с captcha_id
  • websiteURL соответствует реальной странице с капчей на Avito
  • При необходимости настроен прокси с российским IP
  • Реализован опрос getTaskResult до статуса ready
  • Решение содержит все поля: lot_number, pass_token, gen_time, captcha_output
  • Запрос верификации на Avito включает актуальные куки и заголовки из браузерной сессии
  • Протестировано в песочнице перед запуском в продакшен

Заключение

Для прохождения GeeTest v4 на Avito.ru достаточно отправить задачу в RuCaptcha с фиксированным captcha_id и version: 4, а затем передать полученное решение в эндпоинт верификации с корректными заголовками и куки.

Ключ к стабильной работе — точное воспроизведение браузерной сессии и использование прокси, соответствующего целевому региону. Перед запуском в продакшен обязательно протестируйте интеграцию в песочнице и сверьтесь с контрольным списком.

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