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

Как обойти капчу 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.2captcha.com/createTask

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

Ответ:

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

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

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

Эндпоинт: https://api.2captcha.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:pass@1.2.3.4: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.

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