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

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

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

Как обойти капчу Tencent

Введение

Tencent Captcha (TCaptcha) — это современная система защиты от ботов, разработанная компанией Tencent. В отличие от традиционных капч с вводом текста, TCaptcha анализирует поведение пользователя и использует токены для верификации. В этом руководстве мы подробно разберём, как автоматизировать обход этой капчи с помощью API-сервисов решения капч.

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


Что такое Tencent Captcha

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

Характеристика Описание
Тип Токен-базированная поведенческая капча
Визуализация Слайдер, клик-паттерны, головоломки или невидимая проверка
Интеграция Через JS-скрипт TCaptcha.js
Идентификатор appId (CaptchaAppId) — уникальный ID приложения в Tencent Cloud

Капча инициализируется на странице следующим образом:

js Copy
new TencentCaptcha(CaptchaAppId, callback, options);

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


Подготовка: необходимые параметры

Для отправки задачи на решение через API вам понадобятся:

Параметр Обязателен Описание
type Да Тип задачи: TencentTaskProxyless или TencentTask
websiteURL Да Полный URL страницы, где загружается капча
appId Да Значение параметра appId из исходного кода страницы
captchaScript Нет* URL скрипта капчи (по умолчанию: https://turing.captcha.qcloud.com/TCaptcha.js)
proxyType Для TencentTask Тип прокси: http, https, socks5
proxyAddress Для TencentTask IP или хост прокси-сервера
proxyPort Для TencentTask Порт прокси
proxyLogin / proxyPassword Нет Данные авторизации прокси

Важный момент: разные сайты могут использовать разные значения captchaScript. Поэтому перед отправкой запроса на решение капчи проверьте, совпадает ли он со значением «по умолчанию», указанным в нашей документации. В большинстве случаев сайты сейчас используют следующий captchaScript: https://ca.turing.captcha.qcloud.com/TCaptcha-global.js

Как найти appId на странице

  1. Откройте DevTools (F12) → вкладка Sources или Network
  2. Найдите подключение скрипта TCaptcha.js или вызов new TencentCaptcha(...)
  3. Скопируйте значение первого аргумента — это и есть appId

Пример из исходного кода:

html Copy
<script>
  var captcha = new TencentCaptcha('190014885', function(res) {
    // callback
  });
</script>

Здесь appId = '190014885' .


Типы задач

TencentTaskProxyless (рекомендуется)

Сервис использует собственный пул прокси для решения. Вам не нужно настраивать прокси вручную.

json Copy
{
  "clientKey": "ВАШ_API_КЛЮЧ",
  "task": {
    "type": "TencentTaskProxyless",
    "appId": "190014885",
    "websiteURL": "https://www.example.com/"
  }
}

TencentTask (с вашим прокси)

Используйте, если целевой сайт блокирует запросы без прокси или требует конкретный гео-источник.

json Copy
{
  "clientKey": "ВАШ_API_КЛЮЧ",
  "task": {
    "type": "TencentTask",
    "appId": "190014885",
    "websiteURL": "https://www.example.com/",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080,
    "proxyLogin": "user",
    "proxyPassword": "pass"
  }
}

Пошаговая инструкция

Шаг 1: Создание задачи

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

Отправьте POST-запрос с телом задачи (см. примеры выше).

Ответ:

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

Сохраните taskId для опроса результата.

Шаг 2: Опрос статуса

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

json Copy
{
  "clientKey": "ВАШ_API_КЛЮЧ",
  "taskId": "1234567890"
}

Опрашивайте каждые 5–10 секунд, пока status не станет "ready".

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

Успешный ответ содержит токен:

json Copy
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "appid": "190014885",
    "ret": 0,
    "ticket": "tr0344YjJASGmJGtohyWS_y6tJKiqVPIdFgl87vWlVaQoueR8D6DH28go-i-VjeassM31SXO7D0*",
    "randstr": "@KVN"
  },
  "cost": "0.00299"
}

Шаг 4: Использование токена

Полученный объект solution необходимо передать в callback-функцию, указанную при инициализации капчи:

js Copy
// Исходная инициализация на странице
const myCallback = (token) => {
  // token содержит { appid, ret, ticket, randstr }
  fetch('/api/verify', {
    method: 'POST',
    body: JSON.stringify(token)
  });
};

var captcha = new TencentCaptcha('190014885', myCallback, {});
captcha.show();

// После получения решения от API:
let solution = JSON.parse(apiResponse);
myCallback(solution.solution); // ← передаём решение

Токен действителен ограниченное время (обычно 1–5 минут). Используйте его немедленно после получения.


Пример на Python

python Copy
import time
import requests
from twocaptcha import TwoCaptcha

# Инициализация клиента
solver = TwoCaptcha('ВАШ_API_КЛЮЧ', server='rucaptcha.com')

try:
    # Отправка задачи
    result = solver.tencent(
        app_id='190014885',
        url='https://www.example.com/',
        # proxy={
        #     'type': 'HTTP',
        #     'uri': 'login:[email protected]:8080'
        # }
    )
    
    print("Решение получено:")
    print(result)
    
    # Использование токена в вашем скрипте
    ticket = result['ticket']
    randstr = result['randstr']
    
    # Пример отправки на целевой сайт
    response = requests.post(
        'https://www.example.com/api/verify',
        json={
            'appid': result['appid'],
            'ticket': ticket,
            'randstr': randstr
        }
    )
    print(response.json())

except Exception as e:
    print(f"Ошибка: {e}")

Библиотека 2captcha-python автоматически опрашивает статус задачи и возвращает готовое решение.


Советы по интеграции

  1. Логирование: Сохраняйте taskId, время запроса и ответ для отладки.
  2. Повторные попытки: Реализуйте экспоненциальную задержку при ошибках.
  3. Прокси: Для TencentTask используйте резидентные прокси — они реже блокируются.
  4. User-Agent: Если сайт проверяет заголовки, передавайте актуальный User-Agent через прокси.
  5. Кэширование: Не пытайтесь решить одну и ту же капчу повторно — токен одноразовый.

Полезные ссылки


Заключение

Tencent Captcha представляет собой современную поведенческую систему защиты, в которой ключевую роль играет серверная верификация токена (ticket и randstr). Для корректной интеграции важно правильно извлекать appId, передавать параметры и обрабатывать результат проверки на стороне backend.

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