Логотип «2Captcha»Перейти на главную страницу

TSPD

Tspd

Основанный на Cookies метод обхода капчи Tspd.

Типы задач

  • TspdTask — мы используем переданный вами прокси

ВАЖНО: Для задач TSPD необходимо использовать прокси со статической сессией. На всех этапах работы — от получения cookies до решения задачи и последующего использования этих cookies — должен сохраняться один и тот же выходной IP-адрес. Изменение IP или сессии между этапами может вызвать ошибки.

Сценарий работы

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

  2. Получение cookies. Из ответа сервера извлекаются cookies защиты. Если в ответе присутствует cookie TSPD_101_DID (что означает успешное прохождение защиты) либо формат cookies не соответствует ожидаемому, выполнение останавливается.

  3. Создание задачи. Скрипт отправляет данные в наш сервис для решения TSPD challenge.

  4. Получение решения. Скрипт ожидает завершения обработки задачи через API и получает обновлённые cookies.

  5. Финальный запрос. Выполняется повторный запрос к странице с использованием полученных cookies, после чего сервер возвращает обычную HTML-страницу.

Как найти нужные параметры

При отправке GET-запроса на страницу с TSPD-challenge, вы получите HTML, который нужно закодировать в Base64 и передать в параметре htmlPageBase64. Также при первом запросе сервер выдаст специальные cookies (например, TS386a...400d029) — их необходимо передать в tspdCookie, так как они обязательны для корректного решения TSPD и получения ответа от API.

важно: параметры htmlPageBase64, TspdCookie динамические. Извлекайте их непосредственно перед отправкой задачи, иначе решение может не пройти.

Обратите внимание:

Если сервер возвращает cookies в одном из следующих форматов (3–4 строки):

TS386a400d029=082670...87599c; Copy
TS386a400d029=082670...40a8ea3;
TS386a400d078=082670...b4cbe2c;
TSd2153684027=082670...4415a6

или

Copy
TS386a400d029=08777...83ff9,
TS386a400d029=08777...fb459e,
TSd2153684027=08777...f0ad368

или

Copy
TS014d0691=01fef...1244b,
TS01fe94e8=01fef...9ed38,
TSafd868f7027=082670...a7ea7c

и при этом отсутствует cookie TSPD_101_DID, это означает, что запрос был перехвачен системой защиты и вместо обычного ответа была выдана страница блокировки (TSPD challenge).

В такой ситуации необходимо:

  1. Передать полученные cookies в наш сервис,
  2. Дождаться завершения решения задачи.
  3. Использовать обновлённый набор cookies для всех последующих запросов.

Спецификация для типа задачи TspdTask

Свойство Тип Обязателен Описание
type Строка Да Тип задачи:
TspdTask
websiteURL Строка Да Полный URL-адрес целевой веб-страницы, на которую загружается капча
TspdCookie Строка Да Cookies, полученные на странице Tspd challenge
htmlPageBase64 Строка Да Полный HTML страницы с Tspd challenge в base64
proxyType Строка Да Тип прокси:
http
socks4
socks5
proxyAddress Строка Да IP-адрес прокси-сервера или имя хоста
proxyPort Число Да Порт прокси-сервера
proxyLogin Строка Нет Логин для аутентификации на прокси-сервере
proxyPassword Строка Нет Пароль для аутентификации на прокси-сервере
userAgent Строка Нет User-Agent браузера, с которым открывается страница

Примеры запросов

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

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

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "TspdTask",
      "websiteUrl": "https://example.com/login",
      "TspdCookie": "TS386a400d029=082670...010245; TS386a400d078=082670...dbb3b0c",
      "htmlPageBase64": "PCFET0NUWVBFIGh0bWw+...",
      "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"
    }
  }

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

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

json Copy
{{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "Domains": {
      "example.com": {
        "Cookies": {
          "TS386a400d029": "082670...01a06e",
          "TS386a400d078": "082670...dbb3b0c",
          "Tspd_101_DID": "082670...1d53f"
        }
      }
    }
  }
}