Запустили сервис для обхода Friendly Captcha
Сервис ruCaptcha разработал решение и запустил услугу автоматического обхода Friendly Captcha.
Если вы столкнулись с Friendly Captcha и ищете способ ее обойти, то эта статья специально для вас. Сервис ruCaptcha помогает автоматически решать капчи.
Статья описывает процесс взаимодействия с API.
Friendly Captcha - что это такое
Friendly Captcha - система фильтрации трафика для сайта или приложения. Ключевая особенность - работа в фоновом режиме. В отличие от традиционных капч, которые требуют от пользователя взаимодействия, например решения пазлов или нажатия на кнопки, Friendly Captcha работает пассивно в фоновом режиме. Пользователи даже не замечают, как провдится проверка.
Как работает Friendly Captcha
- Концепция proof-of-work: Friendly Captcha отправляет на устройство пользователя криптографическую задача, которая автоматически решается в фоновом режиме, используя ресурсы устройства;
- Никаких действий со стороны пользователя не нужно: В отличие от других капч, требующих нажатия или ввода текста, Friendly Captcha работает полностью в фоновом режиме без каких-либо действий со стороны пользователя.
Как обойти капчу Friendly Captcha
Обойти Friendly Captcha непросто, но процесс решения можно автоматизировать используя API.
Процесс решения заключается в следующем:
- Заказчик отправляет набор необходимых параметров с целевой страницы в сервис автоматического решения;
- Задача выполняется работником сервиса, после чего ответ возвращается в виде токена, который необходимо ввести в соответствующее поле для обхода.
Для использования API надо зарегистрироваться на сайте. После активации профиля заказчик получает ключ API и может приступить к работе с сервисом.
Ниже описан процесс взаимодействия с API и приведены примеры кода на наиболее популярных языках программирования.
API для решения
Основанный на токенах метод обхода Friendly Captcha.
Полученный токен необходимо установить в качестве значения для элемента input с именем frc-captcha-solution и/или передать функции обратного вызова, заданную аттрибутом data-callback у элемента div капчи.
Типы задач
- FriendlyCaptchaTaskProxyless - мы используем собственный пул прокси-серверов для решения капч
- FriendlyCaptchaTask - мы используем переданный вами прокси
Спецификация для типа задачи FriendlyCaptchaTaskProxyless
| Свойство | Тип | Обязателен | Описание | 
|---|---|---|---|
| type | Строка | Да | Тип задачи: FriendlyCaptchaTaskProxyless FriendlyCaptchaTask | 
| websiteURL | Строка | Да | Полный URL-адрес целевой веб-страницы, на которую загружается капча. Мы не открываем страницу, это не проблема, если страница доступна только для авторизованных пользователей | 
| websiteKey | Строка | Да | Значение аттрибута data-apikeyэлементаdivкапчи | 
Спецификация для типа задачи FriendlyCaptchaTask
Задача FriendlyCaptchaTask расширяет FriendlyCaptchaTaskProxyless, добавляя набор параметров, связанных с прокси, перечисленных ниже.
| Свойство | Тип | Обязателен | Описание | 
|---|---|---|---|
| proxyType | Строка | Да | Тип прокси: http socks4 socks5 | 
| proxyAddress | Строка | Да | IP-адрес прокси-сервера или имя хоста | 
| proxyPort | Число | Да | Порт прокси-сервера | 
| proxyLogin | Строка | Нет | Логин используемый для аунтефикации на прокси-сервере | 
| proxyPassword | Строка | Нет | Пароль используемый для аунтефикации на прокси-сервере | 
Примеры запросов
Метод: createTask
Конечная точка API: https://api.rucaptcha.com/createTask
Пример запроса FriendlyCaptchaTaskProxyless
            
            
              json
              
              
              
            
          
          {
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "FriendlyCaptchaTaskProxyless",
        "websiteURL": "https://example.com",
        "websiteKey": "2FZFEVS1FZCGQ9"
    }
}Пример запроса FriendlyCaptchaTask
            
            
              json
              
              
              
            
          
          {
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "FriendlyCaptchaTask",
        "websiteURL": "https://example.com",
        "websiteKey": "2FZFEVS1FZCGQ9",
        "proxyType": "http",
        "proxyAddress": "1.2.3.4",
        "proxyPort": "8080",
        "proxyLogin": "user23",
        "proxyPassword": "p4$$w0rd"
    }
}Пример ответа
            
            
              json
              
              
              
            
          
          {
    "errorId": 0,
    "status": "ready",
    "solution": {
        "token": "f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD"    },
    "cost": "0.00299",
    "ip": "1.2.3.4",
    "createTime": 1692863536,
    "endTime": 1692863556,
    "solveCount": 1
}Использование токена
Полученный токен поместите в значение тега input с name = frc-captcha-solution, затем отправьте форму, внутри которой находится этот input, например:
            
            
              js
              
              
              
            
          
          document.querySelector('input.frc-captcha-solution').value='f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD'
document.querySelector('form').submit()Имейте в виду, что имя для input может быть кастомизировано с помощью аттрибута data-solution-field-name и в этом случае нужно использовать значение этого аттрибута, как имя.
Если на странице задана коллбек-функция, то можно отправить токен через нее. Например, если  data-callback="doneCallback" то вы должны выполнить:
            
            
              js
              
              
              
            
          
          doneCallback('f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD')Полезные материалы
- Актуальные цены
- Примеры кода для работы с сервисом на официальной странице в GitHub.
Отвечаем на вопросы
Если после прочтения документации у вас остались вопросы по новому API, будем рады ответить и помочь:
Можно задать вопрос любым способом:
- Отправить письмо на [email protected]
- Skype
- Создать тикет
Мы ценим отзывы и хотим убедиться, что сервис идеально подходит для ваших задач.