Сниппет для решения Recaptcha 2 через rucaptcha.com (post/get)

  • Автор темы Автор темы amyboose
  • Дата начала Дата начала
Это понятно.. Код что сам все делает? Кликает куда надо и отправляет\принимает данные? ))
код открывает рекапчу, выбирает определенное задание (я ставлю только знаки), отправляет на км, по ответу км кликает на определенные области рекапчи и решает ее.
 
  • Спасибо
Реакции: Сибиряк
Кликать ничего не нужно....сниппет ищет ключ капчи со страницы и отправляет на рукапчу
перепутал с другим сниппетом автора) Тот отправляет именно картинки на КМ и решает через него.
 
Кликать ничего не нужно....сниппет ищет ключ капчи со страницы и отправляет на рукапчу
Именно клик по квадрату, потом кубик отгадывания капчи, потом клик на кнопке Сабмит.
Иначе не робит.
http://prntscr.com/glwdek

Единственно вылетает проект в ошибку на этапе разгадывания.
Выполнение действия CSharp OwnCode не удалось решить рекапчу, ответ от сервиса: CAPCHA_NOT_READY
http://prntscr.com/glwc0d
Код:
Код:
Развернуть Свернуть Копировать
Type type_rucaptcha = AppDomain.CurrentDomain.GetAssemblies().First(x => x.FullName.IndexOf("Rucaptcha", StringComparison.OrdinalIgnoreCase) != -1).GetType("ZennoLab.RuCaptcha.RuCaptchaConfigurator");
string rucaptcha_key = type_rucaptcha.GetMethod("get_SecretKey").Invoke(Activator.CreateInstance(type_rucaptcha), null).ToString();
string site_key = Regex.Match(instance.ActiveTab.DomText, @"(?<=api2/anchor\?k=).*?(?=&amp)").Value;
if (site_key == string.Empty)
    throw new Exception("google key не найден, задайте его вручную");
string domen = new Uri(instance.ActiveTab.URL).GetLeftPart(UriPartial.Authority);
System.Net.HttpWebRequest post_rucaptcha = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http://rucaptcha.com/in.php?key=" + rucaptcha_key + @"&method=userrecaptcha&googlekey=" + site_key + @"&pageurl=" + domen);
post_rucaptcha.Proxy = null;
post_rucaptcha.AllowAutoRedirect = false;
post_rucaptcha.Method = "GET";
post_rucaptcha.ServicePoint.Expect100Continue = false;
post_rucaptcha.Timeout = 30000;
string url_get;
using (System.Net.WebResponse resp = post_rucaptcha.GetResponse())
using (Stream respStream = resp.GetResponseStream())
using (StreamReader sr = new StreamReader(respStream))
{
    string resp_answer = sr.ReadToEnd();
    if (!resp_answer.Contains("OK|"))
        throw new Exception(resp_answer);
    url_get = "http://rucaptcha.com/res.php?key=" + rucaptcha_key + @"&action=get&id=" + resp_answer.Split('|')[1];
}
Thread.Sleep(10000);
for (int z = 0; ;z++)
{
    System.Net.HttpWebRequest get_rucaptcha_2 = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url_get);
    get_rucaptcha_2.Method = "GET";
    get_rucaptcha_2.Timeout = 30000;
    get_rucaptcha_2.Proxy = null;
    get_rucaptcha_2.AllowAutoRedirect = false;
    post_rucaptcha.ServicePoint.Expect100Continue = false;
    string response;
    using (System.Net.WebResponse resp = get_rucaptcha_2.GetResponse())
    using (Stream respStream = resp.GetResponseStream())
    using (StreamReader sr = new StreamReader(respStream))
       response = sr.ReadToEnd();
    if (response.Contains("OK|"))
    {
        instance.ActiveTab.FindElementById("g-recaptcha-response").SetValue(response.Split('|')[1], "None", false);
        break;
    }
    else if ((response != "CAPCHA_NOT_READY" && response != string.Empty) || z > 20)
        throw new Exception("не удалось решить рекапчу, ответ от сервиса: " + response);
    else
        Thread.Sleep(10000);
}
 
CAPCHA_NOT_READY означает, что работник не успел разгадать за заданное время
 
Спасибо, но у кого-нибудь хоть один код решает рекапчу?
Первый код выдает такую же ошибку как и у всех.
Второй (от ezotonal) долго без ошибок обрабатывается, деньги с баланса списываются, и капча не разгадывается.
 
У меня вроде разгадывает.
Гугл парсил
Ребята, давайте разберемся. На двух сайтах пробую и не работает.
Может я не так процесс использования этого сниппета представляю?
Вот рекапча https://yadi.sk/i/puOJUdBw3MzqyC
На кнопку "Я не робот" нужно нажимать?
Хотя нажимаю и не нажимаю, запускаю кубик со сниппетом, 1-2 минуты он работает, деньги с сервиса снимаются, потом в логах ПМ пишет "ок" и всё, ничего не происходит.
Ключ для рукапчи ввёл, ну и изменения баланса указывает что всё нормально с этим.
Может что-то ещё в коде нужно прописать или изменить?
 
Ребята, давайте разберемся. На двух сайтах пробую и не работает.
Может я не так процесс использования этого сниппета представляю?
Вот рекапча https://yadi.sk/i/puOJUdBw3MzqyC
На кнопку "Я не робот" нужно нажимать?
Хотя нажимаю и не нажимаю, запускаю кубик со сниппетом, 1-2 минуты он работает, деньги с сервиса снимаются, потом в логах ПМ пишет "ок" и всё, ничего не происходит.
Ключ для рукапчи ввёл, ну и изменения баланса указывает что всё нормально с этим.
Может что-то ещё в коде нужно прописать или изменить?
Я робот нажимать не нужно, после выполнения сниппета нужно нажимать кнопку отправить и будет счастье. В другом случае если кнопок нету, там нужно выполнять JS. Вот для теста http://lessons.zennolab.com/captchas/
 
  • Спасибо
Реакции: Astraport
В коде поправь

Код:
Развернуть Свернуть Копировать
instance.ActiveTab.FindElementById("g-recaptcha-response").SetValue(response.Split('|')[1], "None", false);

на

Код:
Развернуть Свернуть Копировать
instance.ActiveTab.FindElementById("g-recaptcha-response-2").SetValue(response.Split('|')[1], "None", false);
 
  • Спасибо
Реакции: Astraport
Всем привет. У меня такая же проблема как у Astraport. Запрос отправляет, деньги на RuCaptcha снимаются, в логе "Execution of C# code of Result:ok".

Но каптча сама не решается, картинки ReCaptcha2 так и продолжают висеть нетронутые. Вот сайт:

https://bittrex.com/account/login

PS. Пробовал заменить g-recaptcha-response на rc-imageselect :
instance.ActiveTab.FindElementById("rc-imageselect ).SetValue(response.Split('|')[1], "None", false);
не помогает...
 
Всем привет. У меня такая же проблема как у Astraport. Запрос отправляет, деньги на RuCaptcha снимаются, в логе "Execution of C# code of Result:ok".

Но каптча сама не решается, картинки ReCaptcha2 так и продолжают висеть нетронутые. Вот сайт:

https://bittrex.com/account/login

PS. Пробовал заменить g-recaptcha-response на rc-imageselect :
instance.ActiveTab.FindElementById("rc-imageselect ).SetValue(response.Split('|')[1], "None", false);
не помогает...
Это невидимая рекапча
Вот тут написан как обойти https://rucaptcha.com/blog/invisible-recaptcha
 
  • Спасибо
Реакции: irmscher
  • Спасибо
Реакции: irmscher
А с вариантом с постепенно появляющимися новыми картинками в квадратах взамен нажатых тоже работает?
 
Спасибо :) Будем разбиратся.
 
А сложность рекапчи овнером ресурса как-то регулируется?
 
Я, как автор этого сниппета, сам столкнулся с проблемами при его работе (не хотелось искать среди файлов, быстренько скопировал с форума).
Причиной оказалось то, что при копировании из c# сниппета сюда на форум некоторые символы поменяли кодировку, добавились пробелы лишние или ещё что-то и нихера ничего не работало.
Прикрепляю тот, который у меня стабильно работал
 

Вложения

  • Спасибо
Реакции: one, kfil и som
Я, как автор этого сниппета, сам столкнулся с проблемами при его работе (не хотелось искать среди файлов, быстренько скопировал с форума).
Причиной оказалось то, что при копировании из c# сниппета сюда на форум некоторые символы поменяли кодировку, добавились пробелы лишние или ещё что-то и нихера ничего не работало.
Прикрепляю тот, который у меня стабильно работал

Что делать ?
a8e4adcea7.jpg
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)