ruCaptcha.com API

ruCaptcha- это сервис для автоматического изображений. Сервис позволяет решать капчу, а также конвертировать в текст любые изображения, которые может распознать человек. API сервиса позволяет быстро и легко автоматизировать выполнение этих задач.

Введение

Мы предоставляем программный интерфейс (API), который позволяет интегрировать ваше программное обеспечение с нашим сервисом и автоматизировать процесс распозавания изображений и решения капчи.

Процесс распозавания изображений и решения капчи состоит из нескольких простых шагов:

  1. Вы отправляете изображение на наш сервер.
  2. Сервер возвращает вам уникальный идентификатор вашей задачи (Captcha ID).
  3. Вы запускаете цикл, который проверяет, выполнена ли задача.
  4. Сервер возвращает вам результат распозавания.

Последние изменения

January 18, 2018

Добавлен новый параметр для невидимой ReCaptcha Подробнее

17 января 2018

Добавлен новый метод для FunCaptcha! Описание метода

25 декабря 2017

Метод KeyCaptcha снова доступен! Описание метода здесь.

12 декабря 2017

Метод AudioCaptha более не поддерживается.

27 февраля 2017

Добавлены рекомендации по решению невидимой ReCaptcha. Больше информации здесь.

24 ноября 2016

Добавлены новые коды ошибок, связанные с ограничениями на запросы к сервису. Больше информации здесь.

9 ноября 2016

Добавлены новые примеры кода для решения ReCaptcha V2, вы можете найти их здесь.

9 ноября 2016

В настоящее время мы можем решить ReCaptcha V2 на любом сайте. От вас требуется прислать полный URL страницы на которой нужно решить ReCaptcha (ранее это не требовалось). Отправка информации о прокси не обязательная, но мы рекомендуем это делать.

Тарифы

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

Вид капчи/метод Цена за 1000, руб. Описание
Обычная капча
Текстовая капча
18-44 Тариф гибкий и зависит от текущей загруженности сервиса. Вы можете ограничить максимальную ставку в настройках вашего аккаунта.
Большая капча 50 Большая капча - это изображение, сумма ширины и высоты которого превышает 400 пикселей. Метод тот же, что и для обычной капчи.
ReCaptcha V2 160 Тариф применяется для ReCaptcha V2 от Google, решаемой с помощью токена.
ReCaptcha V2 (старый метод)
ClickCaptcha
70 Тариф применяется для любой капчи, где нужно кликать на изображения.
RotateCaptcha
FunCaptcha
35 Тариф применяется для любой капчи, где нужно вращать изображение.
FunCaptcha с токеном 160 Тариф применяется для FunCaptcha решенной с токеном.
KeyCaptcha 160 Тариф применяется для KeyCaptcha.

Решение капчи

Алгоритм решения капчи с помощью нашего сервиса достаточно прост и практически одинаков для всех видов капчи.

  1. Получите свой ключ API в настройках вашего аккаунта. Для каждого пользователя генерируется уникальный аутентификационный токен, мы называем его ключ API. Это строка из 32 символов, которая выглядит как: 1abc234de56fab7c89012d34e56fa7b8 Этот ключ используется для всех ваших запросов к серверу.
  2. Отправьте запрос HTTP POST на URL нашего API: http://rucaptcha.com/in.php с параметрами, соответствующему виду вашей капчи.
    Сервер вернет идентификатор вашей капчи или код ошибки, если что-то пошло не так.
  3. Подождите 20 секунд для ReCaptcha или 5 секунд для остальных видов капчи.
  4. Отправьте запрос HTTP GET на URL нашего API: http://rucaptcha.com/res.php чтобы получить результат.
    Если ваша капча уже решена, сервер вернет ответ на нее, в формате, соответстующем виду капчи.
    По умолчанию сервер возвращает ответ как простой текст, например: OK|ТЕКСТ. Но, ответ можно получить и в формате JSON {"status":1,"request":"ТЕКСТ"} если используется параметр json.
    Если ваша капча еще не решена, сервер вернет CAPCHA_NOT_READY. Просто повторите ваш запрос через 5 секунд.
    Если что-то не так с вашим запросом, то сервер вернет код ошибки.

Обычные капчи

Обычная капча - это изображение, на котором размещен искаженный текст, который может быть прочитан человеком. Чтобы решить капчу, нужно ввести текст с изображения.

Чтобы решить нормальную капчу с помощью нашего сервиса, вам необходимо загрузить изображение с помощью HTTP POST запроса к URL нашего API: http://rucaptcha.com/in.php
Сервер принимает изображения в формате multipart или base64.

Пример multipart-формы

<form method="post" action="http://rucaptcha.com/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
Ваш ключ:
<input type="text" name="key" value="YOUR_APIKEY">
Файл капчи:
<input type="file" name="file">
<input type="submit" value="Загрузить и получить ID">
</form>

YOUR_APIKEY - ваш ключ API.

Пример base64-формы

<form method="post" action="http://rucaptcha.com/in.php">
<input type="hidden" name="method" value="base64">
Ваш ключ:
<input type="text" name="key" value="YOUR_APIKEY">
Тело файла капчи в формате base64:
<textarea name="body">BASE64_FILE</textarea>
<input type="submit" value="Загрузить и получить ID">
</form>

YOUR_APIKEY - ваш ключ API.

BASE64_FILE тело файла капчи в формате base64.

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

Если вы отправили корректный запрос, сервер вернет ID вашей капчи в виде простого текста, например: OK|2122988149 или в формате JSON {"status":1,"request":"2122988149"} если вы использовали параметр json в запросе.

Если что-то пошло не так, сервер вернет ошибку. Описание ошибок приведено в главе Обработка ошибок.

Подождите 5 секунд и отправьте HTTP GET запрос к URL нашего API: http://rucaptcha.com/res.php указав ID вашей капчи. Список параметров для запроса приведен в таблице ниже.

Если ваша капча уже решена, сервер вернет ответ на нее в виде простого текста, например: OK|TEXT или в формате JSON {"status":1,"request":"TEXT"} если вы использовали параметр json.

В противном случае сервер вернет CAPCHA_NOT_READY - это значит, что ваша капча еще не решена. Просто повторите ваш запрос через 5 секунд.

Если что-то пошло не так, сервер вернет ошибку, описание которой можно найти в главе Обработка ошибок.

Список параметров POST-запроса к http://rucaptcha.com/in.php

POST параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post - говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 - говорит о том, что вы отправляете изображение в формате base64
phrase Число
По умолчанию: 0
Нет 0 - капча состоит из одного слова
1 - капча состоит из двух или более слов
regsense Число
По умолчанию: 0
Нет 0 - капча не чувствительна к регистру
1 - капча чувствительна к регистру
numeric Число
По умолчанию: 0
Нет 0 - не определено
1 - капча состоит только из цифр
2 - капча состоит только из букв
3 - капча состоит либо только из букв, либо только из цифр
4 - в капче могут быть и буквы и цифры
calc Число
По умолчанию: 0
Нет 0 - не определено
1 - капча требует совершения математического действия (например: напишите результат 4 + 8 = )
min_len Число
По умолчанию: 0
Нет 0 - не определено
1..20 - минимальное количетсво символов в ответе
max_len Число
По умолчанию: 0
Нет 0 - не определено
1..20 - максимальное количетсво символов в ответе
language Число
По умолчанию: 0
Нет 0 - не определено
1 - капча содержит только кириллицу
2 - капча содержит только латиницу
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Нет Текст будет показан работнику, чтобы помочь ему правильно решить капчу.
Например: введите только красные буквы.
imginstructions Изображение
Макс. 100x100px, 25 Кбайт
Нет Изображение будет показано работнику, чтобы помочь ему решить капчу правильно.
Сервер принимает изображения в формате multipart или base64.
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом получают 10% от всех трат пользователей их ПО.

Список параметров GET-запроса к http://rucaptcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get - получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

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

http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Текстовые капчи

Текстовая капча - это капча, которая не содержит изображений и представлена в виде простого текста. Обычно для решения нужно ответить на какой-либо вопрос.

Например: "Если завтра суббота, то какой сегодня день?".

Чтобы решить этот вид капчи с помощью нашего сервиса, вам нужно передать текст в параметре textcaptcha в POST-запросе к нашему API: http://rucaptcha.com/in.php

Пример формы для текстовой капчи

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<body>
<form method="post" action="http://rucaptcha.com/in.php" enctype="multipart/form-data" accept-charset="UTF-8">
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
<input type="text" name="textcaptcha" value="Если завтра суббота, то какой сегодня день?">
<input type="submit" value="Отправить и получить ID">
</form>
</body>
</html>

YOUR_APIKEY - ваш ключ API.

Кроме того, вы можете испольовать дополнительные параметры в вашем запросе, полный список предоставлен в таблице ниже.

Если вы отправили корректный запрос, сервер вернет ID вашей капчи в виде простого текста, например: OK|Пятница или в формате JSON {"status":1,"request":"Пятница"} если вы использовали параметр json в запросе.

Если что-то пошло не так, сервер вернет ошибку. Описание ошибок приведено в главе Обработка ошибок.

Подождите 5 секунд и отправьте HTTP GET запрос к URL нашего API: http://rucaptcha.com/res.php указав ID вашей капчи. Список параметров для запроса приведен в таблице ниже.

Если ваша капча уже решена, сервер вернет ответ на нее в виде простого текста, например: OK|TEXT или в формате JSON {"status":1,"request":"TEXT"} если вы использовали параметр json.

В противном случае сервер вернет CAPCHA_NOT_READY - это значит, что ваша капча еще не решена. Просто повторите ваш запрос через 5 секунд.

Если что-то пошло не так, сервер вернет ошибку, описание которой можно найти в главе Обработка ошибок.

Список параметров POST-запроса к http://rucaptcha.com/in.php

POST параметр Тип Обязателен Описание
key Строка Да your API key
language Число
По умолчанию: 0
Нет 0 - не определено
1 - капча содержит только кириллицу
2 - капча содержит только латиницу
textcaptcha Строка
Максимум 140 символов
Кодировка: UTF-8
Нет Текст капчи.
Например: Если завтра суббота, то какой сегодня день?
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом получают 10% от всех трат пользователей их ПО.

Список параметров GET-запроса к http://rucaptcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get - получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

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

http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

ReCaptcha V2

ReCaptcha V2 также известная как "Я не робот" reCaptcha очень популяна и выглядит вот так:

Решить ReCaptcha V2 с помощью нашего нового метода очень легко и это не требует эмуляции браузера:

  • Посмотрите исходный код элемента на странице, где вы встретили ReCaptcha.

  • Найдите ссылку, которая начинается с www.google.com/recaptcha/api2/anchor или найдите параметр data-sitekey.

  • Скопируйте значение параметра k из ссылки (или значение data-sitekey).

  • Отправьте запрос HTTP GET или POST к нашему API: http://rucaptcha.com/in.php указав userrecaptcha в качестве значения параметра method, а также укажите значение, которые вы скопировали ранее в параметре googlekey. Укажите полный URL страницы, на которой вы хотите решить ReCaptcha в параметре pageurl.
    Отправка данных прокси на текущий момент не обязательна, но мы все же рекомендуем это делать.
    Полный список параметров для запроса можно найти в таблице ниже.

    Пример URL запроса:

    http://rucaptcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=userrecaptcha&googlekey=6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-&pageurl=http://mysite.com/page/with/recaptcha?appear=1&here=now
  • Если вы отправили корректный запрос, сервер вернет ID вашей капчи в виде простого текста, например: OK|2122988149 или в формате JSON {"status":1,"request":"2122988149"} если вы использовали параметр json в запросе.

    Если что-то пошло не так, сервер вернет ошибку. Описание ошибок приведено в главе Обработка ошибок.

  • Подождите 15-20 секунд и отправьте HTTP GET запрос к нашему API: http://rucaptcha.com/res.php чтобы получить результат.
    Полный лист параметров для запроса можно найти в таблице ниже.

    Если ваша капча уже решена, то сервер вернет ответ в виде простого текста или JSON. Ответ представляет собой токен, примерно такой:

    03AHJ_Vuve5Asa4koK3KSMyUkCq0vUFCR5Im4CwB7PzO3dCxIo11i53epEraq-uBO5mVm2XRikL8iKOWr0aG50sCuej9bXx5qcviUGSm4iK4NC_Q88flavWhaTXSh0VxoihBwBjXxwXuJZ-WGN5Sy4dtUl2wbpMqAj8Zwup1vyCaQJWFvRjYGWJ_TQBKTXNB5CCOgncqLetmJ6B6Cos7qoQyaB8ZzBOTGf5KSP6e-K9niYs772f53Oof6aJeSUDNjiKG9gN3FTrdwKwdnAwEYX-F37sI_vLB1Zs8NQo0PObHYy0b0sf7WSLkzzcIgW9GR0FwcCCm1P8lB-50GQHPEBJUHNnhJyDzwRoRAkVzrf7UkV8wKCdTwrrWqiYDgbrzURfHc2ESsp020MicJTasSiXmNRgryt-gf50q5BMkiRH7osm4DoUgsjc_XyQiEmQmxl5sqZP7aKsaE-EM00x59XsPzD3m3YI6SRCFRUevSyumBd7KmXE8VuzIO9lgnnbka4-eZynZa6vbB9cO3QjLH0xSG3-egcplD1uLGh79wC34RF49Ui3eHwua4S9XHpH6YBe7gXzz6_mv-o-fxrOuphwfrtwvvi2FGfpTexWvxhqWICMFTTjFBCEGEgj7_IFWEKirXW2RTZCVF0Gid7EtIsoEeZkPbrcUISGmgtiJkJ_KojuKwImF0G0CsTlxYTOU2sPsd5o1JDt65wGniQR2IZufnPbbK76Yh_KI2DY4cUxMfcb2fAXcFMc9dcpHg6f9wBXhUtFYTu6pi5LhhGuhpkiGcv6vWYNxMrpWJW_pV7q8mPilwkAP-zw5MJxkgijl2wDMpM-UUQ_k37FVtf-ndbQAIPG7S469doZMmb5IZYgvcB4ojqCW3Vz6Q

    Если ваша капча еще не решена, то сервер вернет код CAPCHA_NOT_READY. Повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, то сервер вернет код ошибки.

  • Найдите элемент с id g-recaptcha-response и сделайте его видимым, удалив параметр display:none.

    Внимание: иногда содержимое страницы генерируется динамически и вы можете не найти данный элемент.
    В таком случае вам нужно изучить скрипты, отвечающие за генерацию содержимого страницы. Опция "Inspect" в Google Chrome может помочь в этом.

  • На странице отобразится текстовое поле. Все что вам остается сделать - вставить полученный токен в это поле и отправить форму.

  • Поздравляем, вы решили ReCaptcha!

ReCaptcha Callback

Иногда вы не найдете кнопки, отправляющей форму. Вместо нее может использоваться callback-функция. Эта функция выполняется, когда задание рекапчи выполнено.

Обычно callback-функция определена в параметре data-callback, например:

data-callback="myCallbackFunction"

Или иногда она указана как параметр callback у функции grecaptcha.render, например так:

grecaptcha.render('example', {
  'sitekey' : 'someSitekey',
  'callback' : myCallbackFunction,
  'theme' : 'dark'
});

Кроме того есть еще один простой способ найти callback-функцию - это открыть javascript-консоль вашего браузера и изучить объект конфигурации ReCaptcha:

___grecaptcha_cfg.clients[0].aa.l.callback

Имейте в виду, что часть aa.l меняется, а также, что на одном сайте может быть несколько имплементации ReCaptcha, поэтому вам нужно посмотреть и на clients[1], clients[2] и т.д.

В конце концов вам нужно запустить callback-функцию:

myCallbackFunction();

Или даже так:

___grecaptcha_cfg.clients[0].aa.l.callback();

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

myCallbackFunction('TOKEN');

Invisible ReCaptcha V2

У ReCaptcha V2 также есть невидимая версия.
Её образец можно увидеть по ссылке: https://www.google.com/recaptcha/api2/demo?invisible=true
Кроме того, недавно мы обнаружили некоторые изменения в алгоритме невидимой ReCaptcha на нескольких сайтах. Мы добавили в API новый параметр invisible=1 который нужно использовать для невидимой ReCaptcha.
Ниже мы расскажем больше о невидимой ReCaptcha.

Невидимая рекапча размещена на слое DIV, который имеет z-index - 10 000 px, что делает его невидимым пользователю.

Капча активируется при загрузке страницы, или при каком-либо действии пользователя, например при нажатии на кнопку или отправке формы. Если куки пользователя хорошие, то он даже не заметит, что капча была. Если куки не очень хорошие, то при отправке формы он тут же получит по центру экрана стандартную рекапчу, где нужно выбрать несколько изображений.

В большинстве случаев, после того, как пользователь решил капчу, вызывается callback-функция. О ней вы можете прочитать здесь.

Если вы все еще не уверены, какая ReCaptcha на сайте, обычная или невидимая - вот несколько способов это определить:

  • Вы не видите чекбокс "Я не робот", но получаете капчу, когда делаете какое-либо действие на сайте
  • Ссылка iframe рекапчи содержит параметр size=invisible
  • Конфигурационный объект рекапчи содержит параметр size, значение которого invisible, например ___grecaptcha_cfg.clients[0].aa.l.size имеет значение invisible

Что делать, чтобы в браузере можно было пройти Invisible ReCaptcha?


Метод 1: используем javascript:

  • Измените значение элемента g-recaptcha-response на токен, полученный от нашего сервера:
  • document.getElementById("g-recaptcha-response").innerHTML="TOKEN_FROM_RUCAPTCHA";
    
  • Выполните действие, которое должно выполняться на сайте после того, как вы решили reCaptcha.

  • Чаще всего на сайте нужно отправить форму. От вас потребуется идентифицировать эту форму по id, имени или какому-то еще атррибуту и отправить форму. Вот несколько примеров:

    document.getElementById("recaptcha-demo-form").submit(); //по id "recaptcha-demo-form"
    document.getElementsByName("myFormName")[0].submit(); //по имени элемента "myFormName"
    document.getElementsByClassName("example").submit(); //по имени класса "example"
    

    А иногда после решения reCaptcha вызывается коллбек-функция.

    Эта функция определяется в параметре data-callback, например: data-callback="myCallbackFunction"

    И все что вам нужно сделать - вызвать эту функцию:

    myCallbackFunction();
    
  • Ура! Вы сделали это всего двумя строчками кода.

Метод 2: изменяем содержимое страницы:

  • Вырежьте из тела документа div, содержащий саму рекапчу.
  • <div style="visibility: hidden; position: absolute; width:100%; top: -10000px; left: 0px; right: 0px; transition: visibility 0s linear 0.3s, opacity 0.3s linear; opacity: 0;">
    <div style="width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; z-index: 2000000000; background-color: #fff; opacity: 0.5;  filter: alpha(opacity=50)">
    </div>
    <div style="margin: 0 auto; top: 0px; left: 0px; right: 0px; position: absolute; border: 1px solid #ccc; z-index: 2000000000; background-color: #fff; overflow: hidden;">
    <iframe src="https://www.google.com/recaptcha/api2/bframe?hl=en&amp;v=r20170213115309&amp;k=6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs#zglq3yifgkmj" title="recaptcha challenge" style="width: 100%; height: 100%;" scrolling="no" name="zglq3yifgkmj" frameborder="0"></iframe>
    </div>
    </div>
    
  • Вырежьте полностью блок:
  • <div class=""><!-- BEGIN: ReCAPTCHA implementation example. -->
    <div id="recaptcha-demo" class="g-recaptcha" data-sitekey="6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs" data-callback="onSuccess" data-bind="recaptcha-demo-submit"><div class="grecaptcha-badge" style="width: 256px; height: 60px; transition: right 0.3s ease 0s; position: fixed; bottom: 14px; right: -186px; box-shadow: 0px 0px 5px gray;"><div class="grecaptcha-logo"><iframe src="https://www.google.com/recaptcha/api2/anchor?k=6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs&amp;co=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbTo0NDM.&amp;hl=en&amp;v=r20170213115309&amp;size=invisible&amp;cb=uror1hlow5a" title="recaptcha widget" scrolling="no" name="undefined" width="256" height="60" frameborder="0"></iframe></div><div class="grecaptcha-error"></div><textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none;  display: none; "></textarea></div></div>
    <script>
    var onSuccess = function(response) {
      var errorDivs = document.getElementsByClassName("recaptcha-error");
      if (errorDivs.length) {
        errorDivs[0].className = "";
      }
      var errorMsgs = document.getElementsByClassName("recaptcha-error-message");
      if (errorMsgs.length) {
        errorMsgs[0].parentNode.removeChild(errorMsgs[0]);
      }
      document.getElementById("recaptcha-demo-form").submit();};
    </script><!-- Optional noscript fallback. --><!-- END: ReCAPTCHA implementation example. --></div>
    
  • На место вырезанного блока поставьте следующий код:
  • <input type="submit">
    <textarea name="g-recaptcha-response">%g-recaptcha-response%</textarea>
    
    В котором %g-recaptcha-response% - токен, который вы получили от нашего сервера.
  • У вас появится кнопка “Submit query”, при нажатии на неё вы отправите на сайт, где установлена капча все данные формы и g-recaptcha-response

Список параметров для GET/POST запросов к http://rucaptcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да userrecaptcha - определяет что вы решаете ReCaptcha V2 с помощью нового метода
googlekey Строка Да Значение параметра k или data-sitekey которое вы нашли в коде страницы
pageurl Строка Да Полный URL страницы, на которой вы решаете ReCaptcha V2
invisible Число
По умолчанию: 0
Нет 1 - говорит нам, что на сайте невидимая ReCaptcha. 0 - обычная ReCaptcha.
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом получают 10% от всех трат пользователей их ПО.
proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
Больше информации о прокси здесь.
proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

Список параметров GET-запроса к http://rucaptcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get - получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример URL запроса:

http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

ReCaptcha V2 (устаревший метод)

Решение ReCaptcha V2 с помощью устаревшего метода - более сложный процесс, потому что он требует эмулировать браузер, кроме того он не дает 100% точности. Поэтому мы рекомендуем испольовать новый метод. Но устаревший метод дешевле и мы все еще его поддерживаем.

Мы можем решать ReCaptcha с различными сетками: 3x3, 2x4, 4x4.

Также, вы можете решать ReCaptcha V2 с помощью метода для ClickCaptcha method если он вам больше подходит.

И, конечно же, мы поддерживаем задания в которых нужно обвести объект или несколько объектов. Подробнее тут.

Чтобы решить ReCaptcha V2 вам нужно:

  • Поставить галочку. Вы получите набор изображений и инструкцию о том, какие изображения кликать. На самом деле этот набор изображений - одно изобрание с наложенной сеткой.

  • Не обязательно: определить сетку и указать ее размеры с в параметрах recaptchacols - количество колонок и recaptcharows - количество строк.
    Если размер сетки не определен, мы проверим размер изображения и, в случае если размер 300х300 пикселей, мы наложим сетку 3x3. Если изображение имеет другой размер, мы наложим на него сетку 4x4.

  • Отправить запрос HTTP POST к нашему API: http://rucaptcha.com/in.php установив значение параметра recaptcha равным 1.

    Сервер принимает изображения в формате multipart или base64. Вам неоходимо отправлять только набор изображений без сетки и синего блока.

    Также, необходимо передать инструкцию, какие изображения нужно выбрать. Это можно сделать с помощью параметра textinstructions или imginstructions. Полный список параметров предоставлен в таблице ниже.

  • Сервер вернет ID вашей капчи или код ошибки, если что-то пошло не так.

  • Подождите 5 секунд и отправьте запрос HTTP GET к нашему API: http://rucaptcha.com/res.php чтобы получить результат.

    Если ваша капча решена, то сервер вернет ответ с номерами клеток сетки, на которые нужно кликать, например: OK|click:3/8/9/.

    Нумерация идет от 1 слева-направо сверху-вниз. Если в сетке более 9 клеток, то используются буквы a-g для клеток 10-16.

    Если капча еще не решена, сервер вернет CAPCHA_NOT_READY. Повторите ваш запрос через 5 секунд.

    Если возникла проблема с обработкой вашей капчи, сервер вернет код ошибки.

  • Вы кликаете на клетки, номера которых получили в ответе.

Метод canvas

В случае, если задание ReCaptcha требует обвести объект вы можете передать параметр canvas со значением 1.

Сервер вернет ответ в формате: canvas:x,y,x,y,x,y;x,y,x,y,x,y;

Где каждая пара x и y - это координаты точек, на которые нужно поочередно кликать, чтобы обвести зону, в которой находится объект. Если таких зон несколько, то их координаты будут разделены точкой с запятой.

Например:
canvas:5,5,3,91,93,90,90,7,8,6; - одна зона
canvas:5,5,3,91,93,90,90,7,8,6;208,211,208,287,294,294,293,209,207,210; - две зоны
Точка 0,0 - это левый верхний угол изображения.

Чтобы пройти задание, вам нужно поочередно кликать на полученные точки.

Пример формы для ReCaptcha V2 (устаревший метод) в формате multipart

<form method="post" action="http://rucaptcha.com/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
<input type="hidden" name="recaptcha" value="1"><br>
<input type="hidden" name="canvas" value="0"><br>
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Файл изображения ReCaptcha:
<input type="file" name="file">
Файл изображения с инструкцией:
<input type="file" name="imginstructions">
<input type="submit" value="Загрузить и получить ID">
</form>

YOUR_APIKEY - ваш ключ API.

Пример формы для отправки ReCaptcha V2 (устаревший метод) в формате base64

<form method="post" action="http://rucaptcha.com/in.php">
<input type="hidden" name="method" value="base64">
<input type="hidden" name="recaptcha" value="1"><br>
<input type="hidden" name="canvas" value="0"><br>
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Тело файла изображения ReCaptcha в формате base64:
<textarea name="body">BASE64_RECAPTCHA_FILE</textarea>
Тело файла изображения с инструкцией в формате base64:
<textarea name="imginstructions">BASE64_INSTRUCTION_FILE</textarea>
<input type="submit" value="Загрузить и получить ID">
</form>

YOUR_APIKEY - ваш ключ API.

BASE64_RECAPTCHA_FILE - закодированное в формате base64 тело изображения ReCaptcha V2.

BASE64_INSTRUCTION_FILE - закодированное в формате base64 тело изображения с инструкцией.

Список параметров POST-запроса к http://rucaptcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post - говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 - говорит о том, что вы отправляете изображение в формате base64
recaptcha Число Да 1 - говорит о том, что вы отправляете ReCaptcha в виде изображения
canvas Число
По умолчанию: 0
Нет 1 - говорит о том, что вы хотите использовать метод canvas
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Да Текст с инструкцией, какие изображения выбирать.
Например: выберите все изображения с деревьями.
Не обязателен если вы отправляете инструкцию в виде изображения с помощью параметраimginstructions.
imginstructions Изображение
Максимум 100x100 пикселей, 25 Кбайт
Да Рисунок с инструкцией, какие изображения выбирать.
Не обязателен если вы отправляете инструкцию в виде текста с помощью параметра textinstructions.
recaptcharows Число Нет Количество строк в сетке.
recaptchacols Число Нет Количество колонок в сетке.
can_no_answer Число
По умолчанию: 0
Нет 0 - не определено
1 - возможно, что изображение не содержит картинок, которые удовлетворяют инструкции.
Устанавливайте значение 1 только если на изображении может не быть картинок с правильным ответом.
Мы покажем работнику кнопку "Нет подходящих картинок", а вы получите в ответе No_matching_images.
language Число
По умолчанию: 0
Нет 0 - не определено
1 - капча содержит только кириллицу
2 - капча содержит только латиницу
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом получают 10% от всех трат пользователей их ПО.

Внимание: вам необходимо отправлять само изображение, а не скриншот. Не пытайтесь комбинировать изображение с чем либо еще, отправляйте его как есть.
Максимальный размер изображения для ReCaptcha 100 Кбайт.
Максимальный размер изображения для imginstructions 25 Кбайт.

Список параметров для GET-запроса к http://rucaptcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get - получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

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

http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

ReCaptcha V1

ReCaptcha V1 устарела и была заменена на ReCaptcha V2, но все еще встречается на некоторых сайтах.

Она может иметь различные темы оформления и выглядит примерно так:

Для решения ReCaptcha V1 вам требуется:

  • Загрузить страницу по ссылке src из элемента noscript и найти элемент с id recaptcha_challenge_field в исходном коде страницы.

  • Получить изображение по ссылке: www.google.com/recaptcha/api/image?c=recaptcha_challenge_field.

  • Отправить изображение на наш сервер с помощью HTTP POST-запроса, так же как в случае с обычной капчей.

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

ClickCaptcha

Этот метод позволяет решать любую капчу, которая требует кликать по изображениям, например Ghost Captcha в SnapChat, ReCaptcha V2, ASIRRA и т.п.

Чтобы решить ClickCaptcha нужно:

  • Получить изображение и инструкцию, по каким картинкам кликать.

  • Отправить запрос HTTP POST к нашему API: http://rucaptcha.com/in.php указав 1 в качестве значениея параметра coordinatescaptcha.
    Сервер принимает изображения в формате multipart или base64.

    Вы можете передать дополнительные инструкции в виде текста, с помощью параметра textinstructions но это не обязательно, если инструкция уже содержится на изображении.

    Полный список параметров приведен в таблице ниже.

  • Сервер вернет ID капчи или код ошибки, если что-то пошло не так.

  • Подождите 5 секунд и отправьте HTTP GET запрос к нашему API: http://rucaptcha.com/res.php чтобы получить результат.

    Если ваша капча уже решена, то сервер вернет координаты точек, по которым нужно кликнуть, например: OK|coordinate:x=39,y=59;x=252,y=72. Где точка с координатами x=0,y=0 - верхний левый угол изображения.

    Если ваша капча еще не решена, сервер вернет CAPCHA_NOT_READY. Просто повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернет код ошибки.

  • Вы симулируете клики по полученным координатам.

Пример multipart-формы для ClickCaptcha

<form method="post" action="http://rucaptcha.com/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
<input type="hidden" name="coordinatescaptcha" value="1">
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Файл изображения ClickCaptcha:
<input type="file" name="file">
Инструкция:
<input type="text" name="textinstructions" value="Выберите всех привидений">
<input type="submit" value="Загрузить и получить ID">
</form>

YOUR_APIKEY - ваш ключ API.

Пример формы для загрузки ClickCaptcha в формате base64

<form method="post" action="http://rucaptcha.com/in.php">
<input type="hidden" name="method" value="base64">
<input type="hidden" name="coordinatescaptcha" value="1">
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Тело изображения ClickCaptcha в формате base64:
<textarea name="body">BASE64_CLICKCAPTCHA_FILE</textarea>
Инструкция:
<input type="text" name="textinstructions" value="Click on ghosts">
<input type="submit" value="Загрузить и получить ID">
</form>

YOUR_APIKEY - ваш ключ API.

BASE64_CLICKCAPTCHA_FILE - тело файла изображения закодированное в формате base64.

Список параметров POST-запроса к http://rucaptcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post - говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 - говорит о том, что вы отправляете изображение в формате base64
coordinatescaptcha Число Да 1 - указывает что вы отправляете ClickCaptcha
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Да Текст с инструкцией по решению ClickCaptcha.
Например: выберите всех привидений
Не обязателен если инструкция уже есть на изображении.
language Число
По умолчанию: 0
Нет 0 - не определено
1 - капча содержит только кириллицу
2 - капча содержит только латиницу
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом получают 10% от всех трат пользователей их ПО.

Список параметров для GET-запроса к http://rucaptcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get - получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

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

http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

RotateCaptcha

RotateCaptcha - это вид капчи, для решения которой нужно поворачивать изображение. Наиболее популярная реализация - FunCaptcha.

Для решения RotateCaptcha требуется:

  • Получить изображение или несколько изображений, которые требуется повернуть.

  • Не обязательно: определить угол поворота в градусах для одного шага и передать его в параметре angle.
    Если не указан - мы используем значение по умолчанию для FunCaptcha: 40 градусов.

    Полный список параметров приведен в таблице ниже.

  • Отправить изображения на наш сервер с помощью запроса HTTP POST к нашему API: http://rucaptcha.com/in.php указав значение rotatecaptcha для параметра method. Сервер принимает изображения только в формате multipart.

    Сервер вернет ID вашей капчи или код ошибки.

  • Подождите 5 секунд и отправьте запрос HTTP GET к нашему API: http://rucaptcha.com/res.php чтобы получить результат.

    Если ваша капча решена, то сервер вернет ответ, содержащий углы поворота для каждого изображения, например: OK|40|200|-120.
    Положительные значение означают что изображение нужно повернуть по часовой стрелке, отрицательные - против часовой стрелки.

    Если ваша капча еще не решена, то сервер вернет CAPCHA_NOT_READY. Тогда нужно повторить запрос через 5 секунд.
    Если возникла ошибка - сервер вернет код ошибки.

  • Для решения вашей RotateCaptcha поверните изображения на соответствующие углы.

Пример формы для отправки RotateCaptcha

<form method="post" action="http://rucaptcha.com/in.php" enctype="multipart/form-data">
Ключ API:<br>
<input  name="key" value="YOUR_APIKEY"><br>
Тип:<br>
<input  name="method" value="rotatecaptcha"><br>
Угол:<br>
<input  name="angle" value="40"><br>
Файлы:<br>
<input type="file" name="file_1"><br>
<input type="file" name="file_2"><br>
<input type="file" name="file_3"><br>
<input type="submit" value="Загрузить и получить ID">
</form>

YOUR_APIKEY - ваш ключ API.

Список параметров POST-запроса к http://rucaptcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да Метод решения капчи.
rotatecaptcha - указывает на то, что вы отправляете RotateCaptcha
angle Число
По умолчанию: 40
Нет Угол поворота за один шаг в градусах.
Если не указано, используется значение по умолчанию для FunCaptcha: 40 градусов.
file_1
file_2
..
file_n
Изображение Да Изображения, которые нужно повернуть в формате base64 или multipart.
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом получают 10% от всех трат пользователей их ПО.

Список параметров для GET-запроса к http://rucaptcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get - получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 - сервер вернет ответ в виде простого текста
1 - сервер вернет ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 - выключен
1 - включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

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

http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

FunCaptcha с токеном

Теперь мы предоставляем метод для решения FunCaptcha с помощью токена.

Этот метод очень прост:

  • Вам нужно найти публичный ключ FunCaptcha. Есть два способа это сделать: вы можете найти div с FunCaptcha и посмотреть на значение параметра data-pkey или же найти элемент с именем (name) fc-token, а из его значения вырезать ключ, который указан после pk.

  • Отправьте запрос HTTP GET или POST к нашему API: http://rucaptcha.com/in.php указав значение параметра method равным funcaptcha, найденный ранее публичный ключ укажите в параметре publickey а полный URL страницы в параметре pageurl. Отправка данных прокси на текущий момент не обязательна, но мы все же рекомендуем это делать.
    Полный список параметров для запроса можно найти в таблице ниже.

    Пример URL запроса:

    https://rucaptcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=funcaptcha&publickey=12AB34CD-56F7-AB8C-9D01-2EF3456789A0&pageurl=http://mysite.com/page/with/funcaptcha/
  • Если вы отправили корректный запрос, сервер вернет ID вашей капчи в виде простого текста, например: OK|2122988149 или в формате JSON {"status":1,"request":"2122988149"} если вы использовали параметр json в запросе.

    Если что-то пошло не так, сервер вернет ошибку. Описание ошибок приведено в главе Обработка ошибок.

  • Подождите 10-20 секунд и отправьте HTTP GET запрос к нашему API: http://rucaptcha.com/res.php чтобы получить результат.
    Полный список параметров для запроса можно найти в таблице ниже.

    Если ваша капча уже решена, то сервер вернет ответ в виде простого текста или JSON. Ответ представляет собой токен, примерно такой:

    3084f4a302b176cd7.96368058|r=ap-southeast-1|guitextcolor=%23FDD531|metabgclr=%23FFFFFF|metaiconclr=%23202122|meta=3|lang=en|pk=12AB34CD-56F7-AB8C-9D01-2EF3456789A0|cdn_url=https://cdn.funcaptcha.com/fc|surl=https://funcaptcha.com

    Если ваша капча еще не решена, то сервер вернет код CAPCHA_NOT_READY. Повторите ваш запрос через 5 секунд.

    сли что-то пошло не так, то сервер вернет код ошибки.

  • Найдите элемент с id fc-token и измените его значение (value) на полученый токен.

    Важно: если вы используете параметр nojs=1, то API вернет лишь часть токена, вот в таком виде: 3084f4a302b176cd7.96368058|r=ap-southeast-1 и вам нужно собрать весь токен целиком самостоятельно, используя оригинальное значение fc-token.

  • Осталось лишь сделать то, что вы хотели сделать на сайте: отправить форму, кликнуть на кнопку или что-то еще.

  • Список параметров для GET/POST запросов к http://rucaptcha.com/in.php

    Параметр Тип Обязателен Описание
    key Строка Да ваш ключ API
    method Строка Да funcaptcha - указывает, что вы решаете FunCaptcha с помощью токена
    publickey Строка Да Значение параметра pk или data-pkey которое вы нашли в коде страницы
    pageurl Строка Да Полный URL страницы, на которой вы решаете FunCaptcha
    nojs Число
    По умолчанию: 0
    Нет Говорит нам решать FunCaptcha с выключенным javascript. Может быть использован в случае, если нормальный метод по какой-то причине не срабатывает.
    Важно: имейте в виду, что в этом случае мы вернем только часть токена. Выше мы описали, что делать в этом случае.
    userAgent Строка Нет Говорит нам использовать ваш user-agent.
    header_acao Число
    По умолчанию: 0
    Нет 0 - выключен
    1 - включен
    Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
    Используется для кроссдоменных AJAX-запросов из веб-приложений.
    pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
    URL должен быть зарегистрирован на сервере. Больше информации здесь.
    json Число
    По умолчанию: 0
    Нет 0 - сервер вернет ответ в виде простого текста
    1 - сервер вернет ответ в формате JSON
    soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом получают 10% от всех трат пользователей их ПО.
    proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
    Больше информации о прокси здесь.
    proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

    Список параметров GET-запроса к http://rucaptcha.com/res.php

    GET параметр Тип Обязателен Описание
    key Строка Да ваш ключ API
    action Строка Да get - получить ответ на капчу
    id Число Да ID капчи, полученный от in.php.
    json Число
    По умолчанию: 0
    Нет 0 - сервер вернет ответ в виде простого текста
    1 - сервер вернет ответ в формате JSON
    header_acao Число
    По умолчанию: 0
    Нет 0 - выключен
    1 - включен
    Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
    Используется для кроссдоменных AJAX-запросов из веб-приложений.

    Пример URL запроса:

    http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

    KeyCaptcha

    KeyCaptcha - это такой вид капчи, для решения которой нужно собрать небольшой пазл.

    Чтобы решить KeyCaptcha с помощью нашего сервиса, нужно:

    • Найти следующие параметры KeyCaptcha в исходном коде страницы:

      s_s_c_user_id
      s_s_c_session_id
      s_s_c_web_server_sign
      s_s_c_web_server_sign2
    • Отправить HTTP GET или POST запрос к нашему API: http://rucaptcha.com/in.php указав method равным keycaptcha и передать в запросе соответствующие значения параметров, найденные на предыдущем шаге, а также полный URL страницы с KeyCaptcha указать в параметре pageurl.
      Полный список параметров приведен в таблице ниже.

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

       http://rucaptcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&s_s_c_user_id=10&s_s_c_session_id=493e52c37c10c2bcdf4a00cbc9ccd1e8&s_s_c_web_server_sign=9006dc725760858e4c0715b835472f22-pz-&s_s_c_web_server_sign2=2ca3abe86d90c6142d5571db98af6714&method=keycaptcha&pageurl=https://www.keycaptcha.ru/demo-magnetic/
    • Если запрос был составлен верно, то сервер вернет ID капчи в виде простого текста, например: OK|2122988149 или в виде JSON {"status":1,"request":"2122988149"} если вы использовали параметрjson.
      В противном случае сервер вернет код ошибки.

    • Подождите 15-20 секунд и отправьте запрос HTTP GET к нашему API: http://2captcha.com/res.php чтобы получить ответ.
      Полный список параметров доступен в таблице ниже.

      Если капча уже решена, то сервер вернет ответ в виде простого текста или JSON. Ответ выглядит примерно так:

      ebdb5a6bf76da6887db60ef2041ab946|9006dc725760858e4c0715b835472f22|http://back10.keycaptcha.com/swfs/ckc/5bded85426de3c57a7529a84bd0d4d08-|493e52c37c10c2bcdf4a00cbc9ccd1e8|1

      Если капча еще не решена, то сервер вернет CAPCHA_NOT_READY. Повторите ваш запрос через 5 секунд.

      Если что-то пошло не так, сервер вернет код ошибки.

    • Найдите и удалите следующий блок, который подключает javascript-файл:

      <script language="JavaScript" src="http://backs.keycaptcha.com/swfs/cap.js"></script>

      Найдите и удалите элемент div с id="div_for_keycaptcha":

      <div id="div_for_keycaptcha"...>...</div>

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

    • Найдите элемент с id="capcode" и измените его значение на ответ, полученный от нашего сервера.

      <input name="capcode" id="capcode" value="1|2|3|4|5" type="hidden">
    • Нажмите на кнопку, отправляющую форму.

    • Ура, вы прошли KeyCaptcha!

      Весь этот процесс может быть легко автоматизирован. Посмотрите пример javascript кода который делает это прямо в консоли браузера.

    Пример формы multipart для отправки KeyCaptcha

    <form method="post" action="http://rucaptcha.com/in.php" enctype="multipart/form-data">
    Your API KEY from rucaptcha.com:
    <input  name="key" value="YOUR_APIKEY"><br>
    s_s_c_user_id:<br>
    <input  name="s_s_c_user_id" value=""><br>
    s_s_c_session_id:<br>
    <input  name="s_s_c_session_id" value=""><br>
    s_s_c_web_server_sign:<br>
    <input  name="s_s_c_web_server_sign" value=""><br>
    s_s_c_web_server_sign2:<br>
    <input  name="s_s_c_web_server_sign2" value=""><br>
    pageurl:<br>
    <input  name="pageurl" value=""><br>
    It's keycaptcha:<br>
    <input type="text" value="keycaptcha" name="method"><br>
    <input type="submit" value="UPLOAD AND GET ID">
    </form>

    YOUR_APIKEY - вашключ API.

    Список параметров GET/POST запроса к http://rucaptcha.com/in.php

    Параметр Тип Обязателен Описание
    key Строка Да ваш ключ API
    method Строка Да keycaptcha - говорит о том, что вы отправляете KeyCaptcha
    s_s_c_user_id Строка Да Значение параметра s_s_c_user_id найденное на странице
    s_s_c_session_id Строка Да Значение параметра s_s_c_session_id найденное на странице
    s_s_c_web_server_sign Строка Да Значение параметра s_s_c_web_server_sign найденное на странице
    s_s_c_web_server_sign2 Строка Да Значение параметра s_s_c_web_server_sign2 найденное на странице
    pageurl Строка Да Полный URL страницы с KeyCaptcha
    header_acao Число
    По умолчанию: 0
    Нет 0 - выключен
    1 - включен
    Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
    Используется для кроссдоменных AJAX-запросов из веб-приложений.
    pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
    URL должен быть зарегистрирован на сервере. Больше информации здесь.
    json Число
    По умолчанию: 0
    Нет 0 - сервер вернет ответ в виде простого текста
    1 - сервер вернет ответ в формате JSON
    soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом получают 10% от всех трат пользователей их ПО.

    Список параметров GET-запроса к http://rucaptcha.com/res.php

    GET параметр Тип Обязателен Описание
    key Строка Да ваш ключ API
    action Строка Да get - получить ответ на капчу
    id Число Да ID капчи, полученный от in.php.
    json Число
    По умолчанию: 0
    Нет 0 - сервер вернет ответ в виде простого текста
    1 - сервер вернет ответ в формате JSON
    header_acao Число
    По умолчанию: 0
    Нет 0 - выключен
    1 - включен
    Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
    Используется для кроссдоменных AJAX-запросов из веб-приложений.

    Пример URL запроса:

    http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

    Обработка ошибок

    Очень важно правильно обрабатывать ошибки в вашем коде, чтобы избежать блокировки вашего аккаунта и остановки предоставления сервиса.

    Обычно, если при обработке вашего запроса возникла ошибка, или запрос сформирован некорректно, сервер вернет код ошибки.
    Ниже вы найдете таблицы со списком возможных кодов ошибки:

    Ошибки, как и ответы на капчи, возвращаются в виде простого текста, либо в формате JSON, если вы используете параметр json=1.

    В очень редких случаях сервер может вернеть HTML страницу с ошибкой 500 или 502 - пожалуйста, имейте это в виду и обрабатывайте эту ситуацию корректно.
    Если вы получили что-либо, не похожее на ответ ли код ошибки - сделайте тайм-аут 5 секунд перед повторной отправкой вашего запроса.

    Ошибки in.php

    Код ошибки Описание Действие
    ERROR_WRONG_USER_KEY Вы указали значение параметра key в неверном формате, ключ должен содержать 32 символа. Прекратите отправку запросов и проверьте ваш ключ API.
    ERROR_KEY_DOES_NOT_EXIST Ключ, который вы указали не существует. Прекратите отправку запросов и проверьте ваш ключ API.
    ERROR_ZERO_BALANCE На вашем счету недостаточно средств. Прекратите отправку запросов. Пополните баланс вашего счета, чтобы продолжить работу с сервисом.
    ERROR_PAGEURL Параметр pagurl не задан в запросе. Остановите отправку запросов и измените ваш код, чтобы передавать правильное значение параметра pagurl.
    Подробнее.
    ERROR_NO_SLOT_AVAILABLE Вы можете получить данную ошибку в двух случаях:
    1. Очередь ваших капч, которые еще не распределены на работников, слишком длинная. Длина очереди зависит от общего числа капч, которые ждут распределения, и может иметь значения от 50 до 100 капч.
    2. Максимальная ставка, которую вы указали в настройках вашего аккаунта ниже текущей ставки на сервере.
    Вы можете повысить вашу максимальную ставку.
    Если вы получили данную ошибку, не отправляйте ваш запрос повторно сразу же после ее получения. Сделайте паузу в 2-3 секунды и попробуйте повторить ваш запрос.
    ERROR_ZERO_CAPTCHA_FILESIZE Размер вашего изображения менее 100 байт. Проверьте файл изображения.
    ERROR_TOO_BIG_CAPTCHA_FILESIZE Размер вашего изображения более 100 Кбайт. Проверьте файл изображения.
    ERROR_WRONG_FILE_EXTENSION Файл имеет неподдерживаемое расширение. Допустимые расширения: jpg, jpeg, gif, png. Проверьте файл изображения.
    ERROR_IMAGE_TYPE_NOT_SUPPORTED Сервер не может опознать тип вашего файла. Проверьте файл изображения.
    ERROR_IP_NOT_ALLOWED Запрос отправлен с IP адреса, который не добавлен в список разрешенных вами IP адресов. Проверьте список адресов.
    IP_BANNED Ваш IP адрес заблокирован за чрезмерное количество попыток авторизации с неверным ключем авторизации. Для разблокировки обратитесь в службу технической поддержки.
    ERROR_CAPTCHAIMAGE_BLOCKED Вы отправили изображение, которые помечено в нашей базе данных как нераспознаваемое.
    Обычно это происходит, если сайт, на котором вы решаете капчу, прекратил отдавать вам капчу и вместо этого выдает изображение с информацией о блокировке.
    Попробуйте обойти ограничения этого сайта.
    MAX_USER_TURN Вы делаете больше 60 обращений к in.php в течении 3х секунд.. Увеличьте тайм-аут между запросами к in.php до 100 мс.
    ERROR: NNNN Где NNNN - номер ошибки.
    Вы превысили лимит запросов и ваш аккаунт временно заблокирован.
    Вам необходимо установить правильные тайм-ауты. Больше информации в главе Лимиты запросов.

    Ошибки res.php

    Код ошибки Описание Действие
    CAPCHA_NOT_READY Ваша капча еще не решена. Подождите 5 секунд и повторите ваш запрос.
    ERROR_CAPTCHA_UNSOLVABLE Мы не можем решить вашу капчу - три наших работника не смогли ее решить, либо мы не получили ответ в течении 90 секунд.
    Мы не спишем с вас деньги за этот запрос.
    Вы можете попробовать отправить капчу еще раз.
    ERROR_WRONG_USER_KEY Вы указали значение параметра key в неверном формате, ключ должен содержать 32 символа. Прекратите отправку запросов и проверьте ваш ключ API.
    ERROR_KEY_DOES_NOT_EXIST Ключ, который вы указали не существует. Прекратите отправку запросов и проверьте ваш ключ API.
    ERROR_WRONG_ID_FORMAT Вы отправили ID капчи в неправильном формате. ID состоит только из цифр. Проверьте ID вашей капчи или код, который отвечает за получение и отправку ID.
    ERROR_WRONG_CAPTCHA_ID Вы отправили неверный ID капчи. Проверьте ID вашей капчи или код, который отвечает за получение и отправку ID.
    ERROR_BAD_DUPLICATES Ошибка возвращается, если вы используете функцию 100% распознавания. Ошибка означает, что мы достигли максимального числа попыток, но требуемое количество совпадений достигнуто не было. Вы можете попробовать отправить вашу капчу еще раз.
    REPORT_NOT_RECORDED Ошибка возвращается при отправке жалобы на неверный ответ если вы уже пожаловались на большое количество верно решенных капч. Убедитесь, что вы отправляете жалобы только в случае неправильного решения.
    ERROR: NNNN Где NNNN - номер ошибки.
    Вы превысили лимит запросов и ваш аккаунт временно заблокирован.
    Вам необходимо установить правильные тайм-ауты. Больше информации в главе Лимиты запросов.

    Лимиты запросов

    Пожалуйста, помните о том, что каждый ваш запрос к нашему API генерирует множество запросов к нашим БД. Поэтому мы просим вас устанавливать правильные тайм-ауты для ваших запросов, а также корректно обрабатывать ошибки в случаях, если сервер возвращает любой вид ошибки или что-либо, отличное от ответа или кода ошибки (например, HTML страницу с ошибкой).

    Например:

    • Если сервер вернул ERROR_NO_SLOT_AVAILABLE подождите 5 секунд, прежде чем отправлять ваш запрос еще раз.
    • Если сервер вернул ERROR_ZERO_BALANCE - подождите 60 секунд.
    • После загрузки After uploading a captcha wait a least 5 seconds (10-20 for recaptcha) and only then try to get the answer.
    • If captcha is not solved yet - retry to get the answer after 5 seconds.

    Если тайм-ауты в вашем ПО настроены некорректно, то ваш аккаунт или IP адрес будет временно заблокирован и сервер вернет числовой код ошибки. По истечени времени блокировки ваш аккаунт будет автоматически разблокирован. Список кодов ошибок приведен в таблице ниже.

    Коды ошибок, возвращаемые при ограничении аккаунта

    Код ошибки Время блокировки Причина блокировки
    ERROR: 1001 10 минут Вы получили 120 ответов ERROR_NO_SLOT_AVAILABLE за одну минуту из-за того, что ваша максимальная ставка ниже, чем текущая ставка на сервере.
    ERROR: 1002 5 минут Вы получили 120 ответов ERROR_ZERO_BALANCE за одну минуту из-за того, что на вашем счету недостаточно средств.
    ERROR: 1003 30 секунд Вы получаете ответ ERROR_NO_SLOT_AVAILABLE потому что загружаете очень много капч и на сервере скопилась большая очередь из ваших капч, которые не распределены работникам.
    Вы получили в три раза больше ошибок, чем число капч, которое вы загрузили (но не менее 120 ошибок). Увеличьте тайм-аут, если вы получаете этот код ошибки.
    ERROR: 1004 10 минут Ваш IP адрес заблокирован, потому что мы получили 5 запросов с некорректным ключем API с вашего IP.
    ERROR: 1005 5 минут Вы делаете слишком много запросов к res.php для получения ответов.
    При блокировке аккаунта используется следующее правило: R > C * 20 + 1200
    Где:
    R - число ваших запросов
    C - число капч, которые вы загрузили
    Это означает, что вы не должны обращаться к res.php за ответом для каждой капчи более 20 раз.
    Пожалуйста, помните, что запрос баланса к res.php также учитывается!
    Чтобы получать ваши ответы быстрее, без риска быть заблокированным, вы можете использовать метод pingback и мы отправим вам ответ, как только решим вашу капчу.

    Работа с прокси

    Вы можете использовать прокси для решения ReCaptcha V2 с того же IP адреса, с которого вы загружаете страницу.
    В настоящее время использовать прокси не обязательно, но возможно, что алгоритм ReCaptcha изменится и это станет обязательным.
    И даже сейчас некоторые сайты проверяют IP адрес, кторый используется для решения ReCaptcha V2. Поэтому мы рекомендуем вам подготовиться к возможным изменениям.

    Если вы отправляете нам данные прокси сервера, то мы проверяем его доступность, пробуя открыть сайт через ваш прокси. Если мы не можем этого сделать - то мы не будем использовать ваш прокси сервер.
    Если ваш прокси проходит проверку, мы используем его для загрузки ReCaptcha при ее решении.

    Мы не имеем собственных прокси серверов, которые мы могли бы вам предложить, поэтому вы должны использовать сторонние прокси или поднять свой собственный сервер.

    Мы поддерживаем следующие виды прокси: SOCKS4, SOCKS5, HTTP, HTTPS с аутенификацией по IP или по логину и паролю.

    Если ваш прокси использует авторизацию по IP адресу, то вам необходимо добавить наш IP в список разрешенных адресов:
    138.201.188.166

    Укажите адрес и порт вашего прокси в качестве значения параметра proxy
    Укажите тип вашего прокси в параметре proxytype.

    Если ваш прокси использует аутенификацию по логину и паролю, укажите их в параметре proxy.

    Параметры POST запроса для прокси

    Параметр POST Тип Обязателен Описание
    proxy Строка Нет При аутенификации по IP: IP_адрес:ПОРТ
    Пример: proxy=123.123.123.123:3128
    При аутенификации по логину и паролю: логин:пароль@IP_адрес:ПОРТ
    Пример: proxy=proxyuser:strongPassword@123.123.123.123:3128
    proxytype Строка Нет Тип вашего прокси: HTTP, HTTPS, SOCKS4, SOCKS5.
    Пример: proxytype=SOCKS4

    Автоматический возврат ответа (pingback)

    Мы предоставляем метод pingback (callback), который позволяет автоматически получить ответ на вашу капчу, когда она решена.
    Это дает вам возможность получать ответы не делая запросов к http://rucaptcha.com/res.php а также избежать блокировки вашего аккаунта из-за превышения лимита запросов.

    Для получения ответов в автоматическом режиме вам необходимо:

    • Зарегистрировать ваш URL, куда будут отправляться ответы.
    • Передать ваш зарегистрированный URL в параметре pingback вашего запроса к http://rucaptcha.com/in.php.
    • Обработать запрос HTTP POST который приходит от нашего сервера на ваш URL. Запрос содержит ID вашей капчи и ответ.

    Управление URL

    Вы можете управлять вашими URL с помощью HTTP GET запросов к http://rucaptcha.com/res.php
    Параметры запросов описаны в таблице ниже.

    Важно: URL может быть добавлен только с того же IP адреса, на который он указывает.

    Список параметров GET запросов к http://rucaptcha.com/res.php

    Параметр GET Тип Обязателен Описание
    key Строка Да ваш ключ API
    action Строка Да add_pingback - зарегистрировать новый URL
    get_pingback - получить список зарегистрированных URL
    del_pingback - удалить URL
    addr Строка - Ваш URL для отправки ответа.
    Например: http://mysite.com/pingback/url/ или 123.123.123.123/pingback/url/
    Вы можете использовать значение all совместно с del_pingback для удаления всех URL.
    json Число
    По умолчанию: 0
    Нет 0 - сервер отправит ответ в виде простого текста
    1 - сервер отправит ответ в формате JSON

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

    Добавить новый URL:

    http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=add_pingback&addr=http://mysite.com/test.php

    Получить список зарегистрированных URL:

    http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get_pingback&json=1

    Удалить всех зарегистрированные URL:

    http://rucaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=del_pingback&addr=all

    Жалобы на неправильные ответы

    Если ваша капча решена неправильно, то вы можете пожаловаться, отправив запрос HTTP GET к нашему API http://rucaptcha.com/res.php указав значение параметра action равным reportbad и передав ID неправильно решенной капчи.
    Наши модераторы проверят вашу капчу и ответ работника и решат, был он верным или нет.

    Если модератор решит, что ответ был неверным, мы вернем деньги на ваш баланс.

    Также, ваши жалобы помогают нам блокировать плохих работников, которые делают много ошибок.

    Важно: не пытайтесь жаловаться на правильно решенные капчи. Если вы будете это делать - ваш аккаунт будет заблокирован.
    Пожалуйста, поймите, что модераторы тоже люди и могут ошибиться, не пишите нам, если модератор пометил несколько неправильных ответов как правильные.

    Список параметров GET запроса к http://rucaptcha.com/res.php

    Параметр GET Тип Обязателен Описание
    key Строка Да ваш ключ API
    action Строка Да reportbad - пожаловаться на неправильный ответ.
    id Строка Да ID неверно решенной капчи.
    json Число
    По умолчанию: 0
    Нет 0 - сервер отправит ответ в виде простого текста
    1 - сервер отправит ответ в формате JSON

    В ответ на ваш запрос сервер ответит OK_REPORT_RECORDED. Либо вернет код ошибки если что-то не так.

    Если вы получаете слишком много неверных ответов, то вы можете указать дополнительные параметры вашей капчи, чтобы помочь нашим работникам решить ее правильно.

    Дополнительные методы

    Также, вы можете получить дополнительную информацию от нашего API, например баланс вашего счета.
    Список дополнительных параметров приведен ниже.

    Список параметров GET запросов для http://rucaptcha.com/res.php

    Параметр GET Тип Обязателен Описание
    key Строка Да ваш ключ API
    action Строка Да getbalance - получить ваш баланс
    get - получить ответы на множество капч с помощью одного запроса. Требует указания параметра ids.
    get2 - получить стоимость решения отправленной капчи и ответ на нее. Требует указания ID капчи в параметре id
    ids Строка - ID ваших капч, разделенные запятыми.
    id Строка - ID вашей капчи.
    json Число
    По умолчанию: 0
    Нет 0 - сервер отправит ответ в виде простого текста
    1 - сервер отправит ответ в формате JSON

    Примеры кода

    Вы можете найти примеры кода в нашем репозитории на GitHub

    Также, вы можете ознакомиться с примерами кода, предоставленными нашими пользователями:

    Также у нас есть пример формы для iMacros

    Важно: в примерах кода могут использоваться URL серверов 2captcha.com, вам необходимо изменить их на rucaptcha.com. Вы не сможете получить ответ на вашу капчу, если отправили ее на 2captcha.com, а ответ запрашиваете у rucaptcha.com.

    Песочница (Sandbox)

    Мы предоставляем режим песочницы (sandbox), в котором вы можете видеть и самостоятельно решать ваши капчи. Он может помочь вам в тестировании вашего ПО. Не забудьте его отключить, если вы хотите чтобы капчи решались нашими работниками.
    Вы можете включить этот режим в настройках аккаунта.

    Важно: мы списываем с вас оплату за капчи, отправленные в этом режиме.

    Если включен режим Sandbox, то капчи, которые вы отправляете на наш сервер, не будут распределены работникам, а вы сможете увидеть их в When Sandbox mode is enabled your captchas will not be distributed to wokers and you will see them in интерфейсе работника.

    Если вы отправляете ReCaptcha V2 то вы не сможете увидеть вашу ReCaptcha на сайте - она видна только через приложение для работников.

Go up