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

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

Как решить Hunt капчу

Катя Пушкарёва
Катя Пушкарёва

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

Введение

Hunt капча это токен-based защита, которая проверяет уникальность отпечатка браузера и сессии пользователя. Автоматизация требует двухэтапного подхода. Сначала нужно получить уникальный идентификатор X-HD, затем использовать его для решения капчи.

Сервис 2Captcha предоставляет API для обхода Hunt капчи через тип задачи HuntTask. Решение возвращает токен, который нужно передать на целевой сайт для прохождения проверки.

Эта статья описывает полный процесс, от создания задачи до работы с cookies и обработки ответов.

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

Hunt Captcha это система защиты, основанная на токенах и отпечатках браузера. В отличие от классических капч с изображениями, Hunt проверяет уникальность сессии и поведенческие паттерны.

Ключевые особенности:

  • Двухэтапный процесс. Сначала получение X-HD (уникального отпечатка), затем решение капчи
  • Привязка к IP. X-HD связан с IP-адресом, поэтому все запросы должны идти через один прокси
  • Работа с cookies. Критически важна для поддержания сессии
  • Требование прокси. Задача HuntTask обязательно использует прокси

Основная проблема при автоматизации это синхронизация всех параметров (IP, User-Agent, cookies) между запросами. Если что-то меняется, система безопасности отклоняет решение.

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

Перед началом работы убедитесь, что у вас есть:

  • API-ключ из личного кабинета 2Captcha
  • Рабочий прокси (HTTP, SOCKS4 или SOCKS5) с фиксированным IP
  • URL целевой страницы с Hunt капчей
  • Ссылка на api.js. Файл библиотеки капчи, обычно виден в исходном коде страницы
  • Инструмент для HTTP-запросов (curl, Postman, Python requests и т.д.)

Прокси должен быть статичным. Ротационные прокси не подойдут, так как X-HD привязан к конкретному IP. Если у вас нет своего прокси, можно использовать прокси от 2Captcha. Они специально подобраны для работы с разными типами капч и хорошо показывают себя на сайтах со сложной защитой. Посмотреть доступные варианты можно на странице Прокси.

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

Перед созданием задачи нужно извлечь из страницы три ключевых элемента:

  1. websiteURL. Полный URL страницы с капчей
  2. apiGetLib. Ссылка на JavaScript-файл библиотеки Hunt (обычно выглядит как https://example.com/hd-api/external/apps/app-id/api.js)
  3. meta.token. Значение, которое сайт возвращает после первого запроса с X-HD

Для извлечения apiGetLib откройте исходный код страницы (Ctrl+U) и найдите тег <script> с атрибутом src, содержащий api.js или hd-api.

Для получения meta.token нужно сначала выполнить первый запрос к API без параметра data, получить X-HD, отправить его на сайт и извлечь токен из ответа.

Реализация

Шаг 1. Создание задачи без data (получение X-HD)

Отправьте POST-запрос на создание задачи без параметра data:

Эндпоинт: https://api.2captcha.com/createTask

Метод: POST

Content-Type: application/json

Пример запроса:

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "HuntTask",
    "websiteURL": "https://example.com/page-with-hunt",
    "apiGetLib": "https://example.com/hd-api/external/apps/app-id/api.js",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080,
    "proxyLogin": "login",
    "proxyPassword": "password"
  }
}

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

json Copy
{
  "errorId": 0,
  "taskId": "123456789"
}

Шаг 2. Получение результата (X-HD)

Отправьте POST-запрос на получение результата задачи:

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

Метод: POST

Content-Type: application/json

Пример запроса:

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

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

json Copy
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "X-HD": "abc123def456..."
  },
  "cost": "0.003",
  "ip": "1.2.3.4",
  "createTime": 1692863536,
  "endTime": 1692863556,
  "solveCount": 1
}

Извлеките значение solution.X-HD из ответа.

Шаг 3. Отправка X-HD на сайт

Отправьте GET-запрос на целевой сайт с заголовком X-HD:

Copy
GET https://example.com/page-with-hunt
Headers:
  X-HD: abc123def456...
  User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
  Cookie: platform_type=desktop; SESSION=12a3aea8cdcfdbb9e7df8ee99b526a84; ...

Сайт вернет ответ с meta.token. Извлеките это значение из JSON-ответа или HTML.

Шаг 4. Создание задачи с data (решение капчи)

Отправьте POST-запрос на создание задачи с параметром data, равным meta.token:

Эндпоинт: https://api.2captcha.com/createTask

Метод: POST

Content-Type: application/json

Пример запроса:

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "HuntTask",
    "websiteURL": "https://example.com/page-with-hunt",
    "apiGetLib": "https://example.com/hd-api/external/apps/app-id/api.js",
    "data": "kufyHK/s/j...wIW",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080,
    "proxyLogin": "login",
    "proxyPassword": "password"
  }
}

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

Отправьте POST-запрос на получение результата:

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

Метод: POST

Content-Type: application/json

Пример запроса:

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

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

json Copy
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token": "6IyDCCpDd.../z/kLNSpjewI="
  },
  "cost": "0.003",
  "ip": "1.2.3.4",
  "createTime": 1692863536,
  "endTime": 1692863556,
  "solveCount": 1
}

Извлеките solution.token и передайте его на целевой сайт для завершения проверки.

Пояснения к параметрам

Параметры задачи HuntTask

Параметр Тип Обязателен Описание
type String Да Тип задачи: HuntTask
websiteURL String Да Полный URL страницы с капчей
apiGetLib String Да Ссылка на файл api.js библиотеки Hunt
userAgent String Нет User-Agent браузера. Рекомендуется указывать для консистентности
data String Нет Значение meta.token для второго этапа. Отсутствует на первом этапе
proxyType String Да Тип прокси: http, socks4, socks5
proxyAddress String Да IP-адрес или хост прокси
proxyPort Number Да Порт прокси
proxyLogin String Нет Логин для авторизации на прокси
proxyPassword String Нет Пароль для авторизации на прокси

Структура ответа

Поле Тип Описание
errorId Number Код ошибки. 0 означает успех
status String Статус задачи: processing или ready
solution.X-HD String Уникальный отпечаток (первый этап)
solution.token String Токен решения капчи (второй этап)
cost String Стоимость решения в валюте сервиса
ip String IP прокси, использованный для решения
createTime Number Timestamp создания задачи
endTime Number Timestamp завершения решения
solveCount Number Количество попыток решения

Работа с cookies

Cookies критически важны для Hunt капчи. Сайт отслеживает сессию через cookies, и если они не передаются или меняются, проверка отклоняется.

Пример строки cookies

Copy
platform_type=desktop; typeBetNames=full; _glhf=1234567890; coefview=0; visit=1-123abc012345d1be726746568edc62d9; fast_coupon=true; v3fr=1; lng=en; flaglng=en; SESSION=12a3aea8cdcfdbb9e7df8ee99b526a84; auid=ab0dW2mqlz1Tjo2AAwplAg==; ggru=195; che_g=12abcede-691f-c7b2-d1e8-8488bc557d98

Основные правила работы с cookies

  1. Получите начальные cookies. Отправьте GET-запрос на целевую страницу и извлеките cookies из заголовка Set-Cookie
  2. Сохраните все значения. Cookies понадобятся для всех последующих запросов
  3. Передавайте cookies в каждом запросе. Добавляйте их в заголовок Cookie при обращении к API и сайту
  4. Используйте один IP. Все запросы должны идти через один прокси
  5. Используйте один User-Agent. Не меняйте User-Agent между запросами
  6. Обновляйте cookies при необходимости. Часть cookies генерируется JavaScript на стороне клиента

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

Copy
GET https://example.com/page-with-hunt
Headers:
  X-HD: abc123def456...
  User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
  Cookie: platform_type=desktop; SESSION=12a3aea8cdcfdbb9e7df8ee99b526a84; visit=1-123abc012345d1be726746568edc62d9

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

Ошибка Причина Решение
ERROR_WRONG_USER_KEY Неверный API-ключ Проверьте clientKey в личном кабинете 2Captcha
ERROR_ZERO_BALANCE Недостаточно средств Пополните баланс в личном кабинете
ERROR_TASK_NOT_FOUND Неверный taskId или задача устарела Проверьте taskId и создайте новую задачу
Отклонение решения сайтом Несоответствие IP, User-Agent или cookies Используйте один прокси и User-Agent для всех запросов, передавайте cookies
meta.token не найден Сайт не вернул токен после запроса с X-HD Проверьте правильность X-HD и cookies, убедитесь, что запрос идет через тот же прокси
Таймаут решения Задача не решена за отведенное время Увеличьте интервал опроса getTaskResult или проверьте доступность целевого сайта
Ошибка прокси Прокси недоступен или блокируется Проверьте работоспособность прокси, убедитесь, что он поддерживает HTTPS. Если используете свой прокси, попробуйте прокси от 2Captcha, они оптимизированы под разные типы капч

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

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

  • Получен API-ключ из личного кабинета 2Captcha
  • Настроен статичный прокси
  • Извлечен websiteURL и apiGetLib из исходного кода страницы
  • Реализован двухэтапный процесс: получение X-HD, отправка на сайт, получение meta.token, решение капчи
  • Настроена работа с cookies: получение, сохранение, передача в заголовках
  • Все запросы используют один IP (прокси) и один User-Agent
  • Реализована обработка ошибок и таймаутов
  • Протестировано решение на целевом сайте
  • Настроено логирование для отладки

Заключение

Hunt капча требует внимательной работы с сессией и отпечатками браузера. Двухэтапный процесс через API 2Captcha позволяет автоматизировать решение, но критически важно соблюдать консистентность: один прокси, один User-Agent, правильные cookies.

Используйте тип задачи HuntTask для решения капчи через прокси. Первый запрос без data возвращает X-HD, второй запрос с data = meta.token возвращает токен решения.

Не забывайте про работу с cookies, без них сайт отклонит решение. Сохраняйте cookies из первого ответа и передавайте их во всех последующих запросах.

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

Подробная документация доступна на странице Hunt Captcha API.