Новый способ решения ReCaptcha V2


 

UPD 01.09.2016: В данный момент рекапча решается для любого сайта. Отправка адреса сайта обязательна (раньше была не обязательна). Отправка прокси желательно, но пока не обязательна.

 

Данный способ позволяет пройти рекапчу без эмуляции браузера и отправки нам картинок, так же этот способ даёт 100%  прохождение капчи.

Вводная часть:

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

1. Пользователь заходит на страницу, загружается страница с сайта и подгружается форма рекапчи с гугла
2. Пользователь нажимает галочку и решает капчу
3. Когда капча решена, гугл проверяет ответ и отдаёт пользователю код в поле <textarea id="g-recaptcha-response"
4. Пользователь заполняет все формы на той странице где он находится
5. Пользователь отправляет данные формы. Вместе с этими данными отправляется и код из поля "g-recaptcha-response"
6. Сайт получает данные от пользователя и обращается к гуглу с вопросом является ли валидным код из поля "g-recaptcha-response"
7. Гугл проверяет валидность кода. Если код валиден, сайт продолжает обработку введённых пользователем данных

Более подробная инструкция, с картинками и пояснениями предоставлена на странице Как пройти ReCaptcha V2 без браузера, подробная инструкция

Схема обхода рекапчи:

1. Вы заполняете все нужные Вам поля.
2. Отправляете нам Site_Key данного сайта + доп.данные ( пока не обязательные: URL страницы, где Вы встретили капчу, PROXY через который Вы работаете)
3. Мы загружаем капчу у себя и даём работнику её решить.
4. Когда работник решил капчу, мы получаем g-recaptcha-response
5. Мы отдаём Вам g-recaptcha-response
6. Вы вставляете наш ответ в поле g-recaptcha-response и проходите форму

Подробная инструкция обхода рекапчи с картинками:

Стоимость:

1000 решений стоят 160 рублей.

Где какие данные брать и куда вставлять?

Посмотрите HTML-код страницы, где Вы встретили капчу:

1. найдите параметр
data-sitekey=
Это ключ сайта, он постоянен и уникален для каждого сайта (если администратор сайта не поменяет его вручную)
Перешлите этот ключ нам в параметре
googlekey=%data-sitekey%

2.найдите форму для текста
<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; "></textarea>
Сюда вам нужно будет вставить ответ от нас

 


API для общения с нашим сервером:

Адрес для загрузки капчи: http://rucaptcha.com/in.php
После отправки данных Вы получите ответ формата
OK|CAPTCHA_ID
Где CAPTCHA_ID это ID капчи, по которому нужно через некоторое время обратиться за ответом.

Параметры, которые нужно передать на наш сервер:

POST параметр значение описание параметра
key YOUR_API_KEY Обязательный параметр. YOUR_API_KEY Вашего аккаунта в рукапче, находится на странице https://rucaptcha.com/setting
method userrecaptcha Обязательный параметр. Данный параметр говорит нам о том, что это рекапча, которую нужно проходить на нашей стороне
googlekey %data-sitekey% Обязательный параметр. Открытый ключ сайта, где установлена ReCaptcha, находится в HTML коде страницы, где Вам встретилась рекапча
proxy %IP proxy% Обязательный параметр. Работник решает капчу через указанный прокси.
proxytype HTTP
HTTPS
SOCKS4
SOCKS5
Тип прокси.
pageurl %URL% Обязательный параметр, URL страницы, где проходится капча. Можно указывать только адрес домена, а не полный URL. При решении рекапчи работник загружает с этого домена контект, связанный с рекапчей.
json 1 Не обязательный параметр. Получение ответа от сервера в формате JSON. Работает для in.php и res.php
Status = 1 запрос успешен
Status = 0 ошибка

Пример загрузки капчи:
http://rucaptcha.com/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=googlekey&pageurl=site.com

Адрес для получения ответа:
http://rucaptcha.com/res.php?key=YOUR_API_KEY&action=get&id=CAPTCHA_ID
YOUR_API_KEY - KEY Вашего аккаунта в рукапче, находится на странице https://rucaptcha.com/setting
CAPTCHA_ID - ID капчи, которое Вы получили в ответ на загрузку

Для получения ответа в формате JSON, сделайте запрос вида
http://rucaptcha.com/res.php?key=YOUR_API_KEY&action=get&id=CAPTCHA_ID&json=1

Код на C# http://pastebin.com/kKmqiGg2

мануал для полного прохождения recaptcha v2 на java + selenium

 

Дополнительно

Сейчас наша реализация такова, что рекапчу работник решает с одного IP, а проходите Вы её с иного IP. Теоритически гугл может это выследить и заблокировать Ваш IP, через который Вы работаете. Поэтому желательно вместе с капчей отправлять нам адрес прокси, через который работник загрузит капчу. Для прокси с авторизацией по IP нужно внести в список разрешённых адресов адрес нашего сервера: 138.201.188.166, для прокси с авторизацией по логину паролю ниже инструкция в каком формате их нужно отправлять. Наши работники подключаются к Вашем прокси через наш промежуточный сервер и не видят авторизационные данные от Ваших прокси.

 

Как правильно отправлять прокси

 

Если авторизация на Ваших прокси происходит по логину\паролю:
У Вас есть:
логин: login
пароль: password
адрес: 123.123.123.123
порт: 3128
тип: SOCKS4

Формат отправки на rucaptcha.com:
proxy="login:password@123.123.123.123:3128"
proxytype="SOCKS4"

Если Ваши прокси доступны только с ограниченного количества IP-адресов
добавьте в список разрешённых IP адресов наш сервер, с которого будут происходить обращения к Вашим прокси:
138.201.188.166
Внимание! Данный IP-адрес может меняться, если Ваши прокси привязываются к IP, следите за изменениями на этой странице. Так же Вы можете получить актуальный адрес по ссылке http://rucaptcha.com/proxyinfo.php

У Вас есть:
адрес: 123.123.123.123
порт: 80
тип: HTTP
Формат отправки на rucaptcha.com
proxy="123.123.123.123:80"
proxytype="HTTP"

 

"