Cutcaptcha

Cutcaptcha

Основанный на токенах метод обхода Cutcaptcha.

Полученный токен необходимо установить в качестве атрибута value для элемента input#cap_token и/или передать функции обратного вызова.

Типы задач

  • CutCaptchaTaskProxyless - мы используем собственный пул прокси-серверов для решения капч
  • CutCaptchaTask - мы используем переданный вами прокси

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

Свойство Тип Обязателен Описание
type Строка Да Тип задачи:
CutCaptchaTaskProxyless
CutCaptchaTask
websiteURL Строка Да Полный URL-адрес целевой веб-страницы, на которую загружается капча. Мы не открываем страницу, это не проблема, если страница доступна только для авторизованных пользователей
miseryKey Строка Да Значение перемернной CUTCAPTCHA_MISERY_KEY, определенной на странице
apiKey Строка Да Значение аттрибута data-apikey тега body внутри iframe капчи. Также, имя javascript-файла, подключаемого на странице

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

Задача CutCaptchaTask расширяет CutCaptchaTaskProxyless, добавляя набор параметров, связанных с прокси, перечисленных ниже.

Свойство Тип Обязателен Описание
proxyType Строка Да Тип прокси:
http
socks4
socks5
proxyAddress Строка Да IP-адрес прокси-сервера или имя хоста
proxyPort Число Да Порт прокси-сервера
proxyLogin Строка Нет Логин используемый для аунтефикации на прокси-сервере
proxyPassword Строка Нет Пароль используемый для аунтефикации на прокси-сервере

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

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

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

{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "CutCaptchaTaskProxyless",
        "miseryKey": "a1488b66da00bf332a1488993a5443c79047e752",
        "apiKey": "SAb83IIB",
        "websiteURL": "https://example.cc/foo/bar.html"
    }
}

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

{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "CutCaptchaTask",
        "miseryKey": "a1488b66da00bf332a1488993a5443c79047e752",
        "apiKey": "SAb83IIB",
        "websiteURL": "https://example.cc/foo/bar.html",
        "proxyType": "http",
        "proxyAddress": "1.2.3.4",
        "proxyPort": "8080",
        "proxyLogin": "user23",
        "proxyPassword": "p4$w0rd"
    }
}

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

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

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "token": "BazM23cpFUUyAAAdqPwNEDZx0REtH3ss"
    },
    "cost": "0.00299",
    "ip": "1.2.3.4",
    "createTime": 1692863536,
    "endTime": 1692863556,
    "solveCount": 1
}

Использование токена

Полученный токен поместите в значение тега input с id = cap_token, затем отправьте форму, внутри которой находится этот input, например:

document.querySelector('input#cap_token').value='BazM23cpFUUyAAAdqPwNEDZx0REtH3ss'
document.querySelector('form').submit()

Если на странице задана коллбек-функция, то можно отправить токен через нее:

capResponseCallback('BazM23cpFUUyAAAdqPwNEDZx0REtH3ss')