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

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

Как решить капчу Tencent на сайте hjd2048.com

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

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

Введение

Это руководство предназначено для разработчиков, которые интегрируют обход капчи Tencent (QCloud Captcha, Turing Captcha) через API 2Captcha. Мы разберём структуру запросов, необходимые параметры и приведём рабочие примеры в формате JSON для сайта hjd2048.com.

Что вам понадобится:

  • API-ключ от 2Captcha
  • Значение appId с целевого сайта
  • Полный URL страницы с капчей
  • При необходимости — ссылка на скрипт капчи captchaScript

1. Общие сведения о капче Tencent

1.1. Описание технологии

Tencent Captcha — это токенизированная система защиты, которая использует интерактивные задачи: слайдер-пазл, выбор точек или простую верификацию. После успешного решения сервер возвращает токен (ticket + randstr), который необходимо передать в форму или запрос к целевому сайту.

1.2. Типы задач

Тип задачи Описание Когда использовать
TencentTaskProxyless Решение через пул прокси 2Captcha Для большинства случаев, когда сайт не блокирует дата-центровые IP
TencentTask Решение с вашим прокси Если сайт требует резидентные или гео-локализованные IP

1.3. Обязательные и опциональные параметры

Параметр Тип Обязателен Описание Пример
type String Да Тип задачи: TencentTaskProxyless или TencentTask TencentTaskProxyless
websiteURL String Да Полный URL страницы с капчей https://hjd2048.com/2048/
appId String Да Идентификатор приложения из исходного кода 189997505
captchaScript String Нет Ссылка на JS-скрипт капчи (для non-standard реализаций) https://global.captcha.gtimg.com/TCaptcha-global.js

2. Подготовка данных

2.1. Получение appId

  1. Откройте целевую страницу в браузере
  2. Нажмите F12 → вкладка Elements
  3. Найдите элемент с атрибутом data-aid или appId:
html Copy
<div id="tcaptcha-widget" data-aid="189997505"></div>

Значение 189997505 — это ваш appId.

2.2. Поиск captchaScript (при необходимости)

Если стандартный запрос возвращает ERROR_CAPTCHA_UNSOLVABLE, добавьте параметр captchaScript:

  1. В DevTools откройте вкладку Network
  2. Обновите страницу, примените фильтр captcha
  3. Найдите запрос к cap_union_prehandle или загрузку .js-файла
  4. Скопируйте полный URL скрипта, например:
Copy
https://global.captcha.gtimg.com/TCaptcha-global.js

3. Формирование запроса

3.1. Эндпоинты API

Метод Эндпоинт Назначение
createTask https://api.2captcha.com/createTask Создание задачи на решение капчи
getTaskResult https://api.2captcha.com/getTaskResult Получение результата по ID задачи

3.2. Пример запроса для hjd2048.com (TencentTaskProxyless)

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "TencentTaskProxyless",
    "appId": "189997505",
    "websiteURL": "https://hjd2048.com/2048/",
    "captchaScript": "https://global.captcha.gtimg.com/TCaptcha-global.js"
  }
}

3.3. Пример запроса с прокси (TencentTask)

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "TencentTask",
    "appId": "189997505",
    "websiteURL": "https://hjd2048.com/2048/",
    "captchaScript": "https://global.captcha.gtimg.com/TCaptcha-global.js",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080,
    "proxyLogin": "user23",
    "proxyPassword": "p4$w0rd"
  }
}

4. Получение и использование результата

4.1. Запрос результата

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

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

4.2. Пример успешного ответа

json Copy
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "appid": "189997505",
    "ret": 0,
    "ticket": "tr0344YjJASGmJGtohyWS_y6tJKiqVPIdFgl87vWlVaQoueR8D6DH28go-i-VjeassM31SXO7D0*",
    "randstr": "@KVN"
  },
  "cost": "0.00299",
  "createTime": 1692863536,
  "endTime": 1692863556,
  "solveCount": 1
}

4.3. Применение токена на целевом сайте

Полученные ticket и randstr необходимо передать в функцию обратного вызова, определённую при инициализации капчи:

javascript Copy
// Пример инициализации на целевом сайте
const myCallbackFunction = (token) => {
    // Верификация токена на бекенде сайта
}
var captcha = new TencentCaptcha('189997505', myCallbackFunction, {});
captcha.show();

// После получения решения от 2Captcha:
let res = JSON.parse(apiResponse);
myCallbackFunction(res.solution);

Если сайт ожидает токен в форме, добавьте скрытые поля:

html Copy
<input type="hidden" name="ticket" value="tr0344...">
<input type="hidden" name="randstr" value="@KVN">

5. Альтернативные методы

5.1. Метод Coordinates для капч с выбором точек

Если стандартный метод не подходит, используйте задачу типа Coordinates:

json Copy
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "Coordinates",
    "imageUrl": "https://ca.turing.captcha.qcloud.com/captcha-image.png",
    "question": "Click on the same animals"
  }
}

Ответ содержит строку с координатами:

json Copy
{
  "solution": {
    "coordinates": "150,200;300,150;450,300"
  }
}

5.2. Обработка ошибки ERROR_CAPTCHA_UNSOLVABLE

Шаг Действие
1 Убедитесь, что appId соответствует целевому сайту
2 Добавьте параметр captchaScript с актуальной ссылкой
3 Попробуйте альтернативные ссылки: https://ca.turing.captcha.qcloud.com/TCaptcha-global.js
4 Протестируйте задачу типа TencentTask с резидентным прокси

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

Ошибка Причина Решение
ERROR_CAPTCHA_UNSOLVABLE Отсутствует captchaScript для non-standard реализации Добавьте параметр captchaScript с правильной ссылкой
Токен не принимается сайтом Неправильная передача ticket/randstr Проверьте, как сайт ожидает получить токен (через callback или форму)
Таймаут ожидания Высокая нагрузка или сложная капча Увеличьте интервал поллинга или используйте прокси
Блокировка по IP Частые запросы без ротации Используйте тип задачи TencentTask с вашим прокси

6.1. Отчёт об ошибках

Если решение не прошло валидацию на целевом сайте, отправьте репорт:

Неверное решение:

Copy
GET https://api.2captcha.com/reportbad?key=YOUR_API_KEY&id=TASK_ID

Верное решение (обязательно вместе с reportbad):

Copy
GET https://api.2captcha.com/reportgood?key=YOUR_API_KEY&id=TASK_ID

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


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

  • Получен и проверен API-ключ из личного кабинета 2Captcha
  • Извлечён корректный appId из исходного кода целевой страницы
  • Указан полный websiteURL страницы с капчей
  • Для non-standard реализаций добавлен параметр captchaScript
  • Выбран подходящий тип задачи: TencentTaskProxyless или TencentTask
  • Протестирован запрос через песочницу или с малым бюджетом
  • Реализована логика применения токена (ticket + randstr) на целевом сайте
  • Настроена отправка reportgood/reportbad для контроля качества

Заключение

Капча Tencent требует точной передачи параметров appId и websiteURL. Для non-standard реализаций критично указывать параметр captchaScript — его отсутствие часто приводит к ошибке ERROR_CAPTCHA_UNSOLVABLE.

Используйте тип задачи TencentTaskProxyless для стандартных случаев и TencentTask с прокси, если сайт применяет гео-блокировки. Полученный токен (ticket + randstr) передавайте в функцию обратного вызова или в форму целевого сайта согласно его документации.

При возникновении проблем проверяйте актуальность ссылки на скрипт капчи и при необходимости отправляйте отчёты через reportbad/reportgood — это помогает улучшать качество решений и возвращать средства за ошибочные ответы.