///
Что такое Tencent Captcha (TenDI) и как её решить?
Команда CapMonster Cloud
Команда CapMonster Cloud
Эксперты по автоматизации
7 августа 2024 г.
15 мин

Что такое Tencent Captcha (TenDI) и как её решить?

 

 

Tencent Captcha – это система защиты от автоматизированных действий, разработанная компанией Tencent. Широко используется на различных онлайн-платформах, таких, как интернет-магазины, социальные сети и финансовые сервисы, для защиты от спама, мошенничества и других видов злоупотреблений. 
 

robots
Начните сейчас и автоматизируйте решение reCAPTCHA v2

Как выглядит Tencent Captcha

 

Основной вид проверки Tencent Captcha – это слайдер, он предлагает пользователю передвинуть ползунок так, чтобы сошлись элементы пазла: 

image.pngimage.png

 

Также встречаются графические капчи, где нужно последовательно нажимать на нужные элементы:   

image.png

 

В качестве альтернативы пользователю предлагается расшифровать аудиокапчу: 

image.png

 

Tencent также предлагает интеллектуальную проверку (или "умную проверку"), аналогичную тому, что предлагают многие другие системы, например, reCAPTCHA от Google. Эта умная проверка использует алгоритмы машинного обучения и анализа поведения пользователя для определения того, является ли действие на веб-ресурсе подлинным или представляет собой автоматизированную атаку.  

Как решить Tencent Captcha при помощи сервиса CapMonster Cloud

CapMonster Cloud помогает преодолеть большинство различных типов капч, включая и Tencent Captcha. Для этого нужно отправить запрос на сервер: https://api.capmonster.cloud/createTask в формате JSON методом POST, выглядеть он должен так:

{
 "clientKey": "API_KEY",
 "task": {
   "type": "CustomTask",
   "class": "TenDI",
   "websiteURL": "https://example.com",
   "websiteKey": "189123456",
   "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36",
   "metadata": {
     "captchaUrl": "https://global.captcha.example.com/TCaptcha-global.js"
   }
 }
}

Параметры, используемые в запросе: 

Параметр

Тип

Обязательный

Значение

type

String

да

CustomTask

class

String

да

TenDI

websiteURL

String

да

Адрес основной страницы, на которой решается капча.

websiteKey

String

да

captchaAppId. Например "websiteKey": "189123456" - уникальный параметр для Вашего сайта. Можно взять с html страницы с капчей или из трафика

captchaUrl (внутри metadata)

String

нет

Ссылка на скрипт с капчей. Обычно заканчивается на TCaptcha.js или TCaptcha-global.js.

userAgent

String

нет

User-Agent браузера. Передавайте только актуальный UA от ОС Windows. 

 

Пример ответа в случае удачного решения (также в формате JSON):

{
  "errorId": 0,
  "taskId": 407533072
}

 

Пример получения результата решения: 

 

Метод getTaskResult: отправьте POST-запрос на адрес https://api.capmonster.cloud/getTaskResult, передав task_id, чтобы получить результат решения от сервиса.:

{
 "clientKey":"API_KEY",
 "taskId": 407533072
}


Ответ:

{
 "errorId": 0,
 "status": "ready",
 "solution": {
   "data": {
     "randstr": "@EcL",
     "ticket": "tr03lHUhdnuW3neJZu.....7LrIbs*"
   },
   "headers": {
     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36"
   }
 }
}

randstr – это случайная строка, которая является частью решения Tencent Captcha, используется для идентификации и проверки решения капчи.

ticket – это уникальный идентификатор, который также является частью решения капчи, используется для подтверждения правильности решения капчи и получения доступа к защищенному контенту или функциональности.
 

Как найти websiteKey (captchaAppId) 

Для отправки запроса на сервер автоматического решения необходимо заранее получить уникальный идентификатор капчи — websiteKey (captchaAppId).

Найти его достаточно просто: 

  1. Откройте страницу с капчей в браузере.

  2. Вызовите отображение самой капчи.

  3. Откройте Инструменты разработчика (Developer Tools).

  4. Перейдите во вкладку Сеть (Network).

  5. Среди сетевых запросов найдите запрос, содержащий параметр aid — это и есть идентификатор капчи для данной страницы.

Пример:

Пример поиска captchaAppId

Примеры кода для решения Tencent Captcha на Node.js и Python

Приведём примеры скриптов для решения данного типа капчи на сервере CapMonster Cloud на языках JavaScript и Python с использованием официальных библиотек сервиса. 
 

Node.js:

// https://github.com/CapMonsterCloud/capmonstercloud-client-js
import { CapMonsterCloudClientFactory, ClientOptions, TenDIRequest } from '@zennolab_com/capmonstercloud-client';

const API_KEY = "YOUR_API_KEY";  // Укажите ваш API-ключ CapMonster Cloud
async function solveTenDI() {
   const client = CapMonsterCloudClientFactory.Create(
       new ClientOptions({ clientKey: API_KEY })
   );
   // Базовый пример без прокси
   // CapMonster Cloud автоматически использует свои прокси
   let tenDIRequest = new TenDIRequest({
       websiteURL: "https://example.com",  // URL страницы с капчей
       websiteKey: "183268248",           // Замените на корректное значение
   });
   
   // Пример использования вашего собственного прокси
   // Раскомментируйте данный блок, если вы хотите использовать собственный прокси
   /*
   const proxy = {
       proxyType: "http",
       proxyAddress: "123.45.67.89",
       proxyPort: 8080,
       proxyLogin: "username",
       proxyPassword: "password"
   };
   tenDIRequest = new TenDIRequest({
       websiteURL: "https://example.com",
       websiteKey: "websiteKey",
       proxy,
       userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36"
   });
   */
   // При необходимости можно проверить баланс 
   const balance = await client.getBalance();
   console.log("Balance:", balance);
   const result = await client.Solve(tenDIRequest);
   console.log("Solution:", result);
}

solveTenDI().catch(console.error);

Python: 


# https://github.com/CapMonsterCloud/capmonstercloud-client-python

import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import TenDiCustomTaskRequest
# from capmonstercloudclient.requests.baseRequestWithProxy import ProxyInfo  # Раскомментируйте, если планируете использовать прокси

API_KEY = "YOUR_API_KEY"  # Укажите ваш API-ключ CapMonster Cloud
async def solve_tendi_custom():
   client_options = ClientOptions(api_key=API_KEY)
   cap_monster_client = CapMonsterClient(options=client_options)
   
   # Базовый пример без прокси
   # CapMonster Cloud автоматически использует свои прокси
   tendi_request = TenDiCustomTaskRequest(
       websiteUrl="https://example.com", # URL страницы с Tencent (TenDI) капчей
       websiteKey="189956587", # TencentCaptcha appid
       userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36"
   )
   
   # Пример использования вашего собственного прокси
   # Раскомментируйте данный блок, если хотите использовать прокси
   #
   # proxy = ProxyInfo(
   #     proxyType="http",
   #     proxyAddress="123.45.67.89",
   #     proxyPort=8080,
   #     proxyLogin="username",
   #     proxyPassword="password"
   # )
   #
   # tendi_request = TenDiCustomTaskRequest(
   #     websiteUrl="https://example.com",
   #     websiteKey="189956587",
   #     userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36",
   #     proxy=proxy
   # )
   # При необходимости можно проверить баланс
   balance = await cap_monster_client.get_balance()
   print("Balance:", balance)
   result = await cap_monster_client.solve_captcha(tendi_request)
   print("Solution:", result)
   
asyncio.run(solve_tendi_custom())

Ознакомьтесь с нашими инструментами и решениями для легкого решения Tencent Captcha и других типов CAPTCHA:

 

Документация CapMonster Cloud (работа с Tencent CAPTCHA) 

CapMonster Cloud API

Расширение CapMonster Cloud для браузера ChromeFirefox


NB: Пожалуйста, обратите внимание, что продукт предназначен для автоматизации тестирования исключительно ваших собственных веб-сайтов и ресурсов, к которым у вас есть законное право доступа.

ItGuy
geear
Партнёрская программа для разработчиков софта
Зарабатывайте до 30% от трат ваших пользователей на обход капчи
✅ Заявка отправлена
Спасибо за интерес к нашей партнёрской программе! Мы свяжемся с вами в течение 7 рабочих дней.
Заявка на подключение
Заполните форму, чтобы отправить заявку на подключение к партнёрской программе