Заплачу за помощь в редактировании скрипта

M-Z

Client
Регистрация
15.11.2017
Сообщения
10
Благодарностей
1
Баллы
3
Заплачу символическую сумму (до 500р) за помощь в настройке связки iMacros+JS+CapMonster

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

krutoihakker

Пользователь
Регистрация
31.08.2017
Сообщения
71
Благодарностей
3
Баллы
8
Бросайте в личку или в облако скрипт посмотреть. На мыло лучше [email protected]
 

M-Z

Client
Регистрация
15.11.2017
Сообщения
10
Благодарностей
1
Баллы
3
вот кусок кода который должен решать рекапчу если отключить монстра, то всё прекрасно работает через платный сервис

Код:
var Nagibaka = {
    /**
     *  Solve Google reCaptcha v.2 with rucaptcha.com service
     *
     *  @author: Nagibaka<nagibaka.ru>
     *  @date: 18.01.2017
     *  @version : 1.0
     * 
     *  @param {String} ruCaptchaKey [API key from rucaptcha.com]
     *  @return {JSON} [Object with info about success or errors]
     */
    fuckReCaptcha2: function (ruCaptchaKey) {
   
        iimPlayCode('SET !EXTRACT_TEST_POPUP NO');
        iimPlayCode('SET !ERRORIGNORE YES');
        iimPlayCode('SET !TIMEOUT_STEP 0');       
        var out = {
            isSolved: false,
            hasError: false,
            errorText: "no text"
        };
        var reqCount = 0;
        function checkSolution (gkey, rucapKey) {
            if (reqCount > 14) {  // 14 * 5 = 70 second timeout
                out = {
                    isSolved: false,
                    hasError: true,
                    errorText: "Rucaptcha timeout error."
                };
                return;
            }
            iimPlayCode('WAIT SECONDS=5');   
            var XMLHttpRequestT = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1");
            var xhr = new XMLHttpRequestT();
            var url = "http://rucaptcha.com/res.php?key=" + ruCaptchaKey + "&action=get&id=" + gkey + "&json=1"
            xhr.open('GET', url, false);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
            xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
            xhr.timeout = 60000;
           
           
            // processing results
            try {
                xhr.send();
                if (xhr.status != 200) {
                    out = {
                        isSolved: false,
                        hasError: true,
                        errorText: xhr.statusText
                    };       
                } else {                   
                    var res = JSON.parse(xhr.responseText);
                    if (res.status == 1) {
                        window.document.querySelector('.g-recaptcha-response').style = "";
                        window.document.querySelector('.g-recaptcha-response').textContent = res.request;                   
                        out = {
                            isSolved: true,
                            hasError: false,
                            errorText: "Success!"
                        };
                       
                    } else {
                        reqCount++;
                        checkSolution (gkey, ruCaptchaKey)
                    }   
                }           
            } catch (e) {               
                out = {
                    isSolved: false,
                    hasError: true,
                    errorText: e.name
                };
               
            }
        }
       
        if (window.document.querySelector('.g-recaptcha') == null) {
            return {
                isSolved: false,
                hasError: true,
                errorText: "Recaptcha not found on page."
            };
        }
        var dataSiteKey = window.document.querySelector('.g-recaptcha').getAttribute('data-sitekey');
        var domen = window.location.host;
   
        var params = "key=" + ruCaptchaKey + "&method=userrecaptcha&googlekey=" + dataSiteKey + "&proxy=тут проксик&proxytype=HTTP&pageurl=" + domen + "&json=true&header_acao=1&useragent=Mozilla/5.0<SP>(Windows<SP>NT<SP>10.0;<SP>WOW64;<SP>rv:52.0)<SP>Gecko/20100101<SP>Firefox/52.0";
        var XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1");
        var xhr = new XMLHttpRequest();
        xhr.open('POST', "http://92.255.237.175/in.php", false);
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
        xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
        xhr.timeout = 60000;
        try {
            xhr.send(params);
            if (xhr.status != 200) {
                out = {
                    isSolved: false,
                    hasError: true,
                    errorText: xhr.statusText
                };       
            } else {               
                var res = JSON.parse(xhr.responseText);
                if (res.status == 1) {
                    checkSolution(res.request, ruCaptchaKey);
                } else {
                    out = {
                        isSolved: false,
                        hasError: true,
                        errorText: xhr.statusText
                    };
                }       
            }           
        } catch (e) {           
            out = {
                isSolved: false,
                hasError: true,
//                errorText: e.name
            };
           
        }
        return out;
    }
};
 

M-Z

Client
Регистрация
15.11.2017
Сообщения
10
Благодарностей
1
Баллы
3
теперь практически уверен, что дело не в скрипте, а в монстре. он почему то сразу отправляет пустой ответ софту и только потом запускает свой браузер, в котором всё таки видит рекапчу, но через ару секунд браузер закрывается. пару раз он успевал нажать на галочку "я не робот", но закрылся даже до подгрузки картинок. в статистике число принятых и разгаданных каптч при этом не меняется. и ip улетает в бан буквально после пары попыток
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 215
Благодарностей
5 843
Баллы
113
Как на этом сайте рекапчу получить? Что-то не вылезает... Шаблон бы конечно с примером помог.
 

M-Z

Client
Регистрация
15.11.2017
Сообщения
10
Благодарностей
1
Баллы
3
Как на этом сайте рекапчу получить? Что-то не вылезает... Шаблон бы конечно с примером помог.
нашел в чём дело. оказывается КМ не понимает параметра json=true(хотя рукапча понимает), ему надо json=1.
теперь КМ открывает свой браузер, вроде даже через мой прокси, и начинает решать.

дальше непонятно в каком виде КМ присылает ответ? в логе просто цифры картинок. разве не должно быть просто ключа для вставки?
и самое главное ip блочится буквально за 2 попытки. так никаких денег на прокси не хватит

upd: в заголовке браузера КМ написано proxy=http://лог:пасс@ip:порт это нормально или формат передачи прокси я опять не угадал? возможно изза этого сразу прилетает бан от гугла
 
Последнее редактирование:
  • Спасибо
Реакции: VladZen

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 215
Благодарностей
5 843
Баллы
113
дальше непонятно в каком виде КМ присылает ответ? в логе просто цифры картинок. разве не должно быть просто ключа для вставки?
и самое главное ip блочится буквально за 2 попытки. так никаких денег на прокси не хватит

upd: в заголовке браузера КМ написано proxy=http://лог:пасс@ip:порт это нормально или формат передачи прокси я опять не угадал? возможно изза этого сразу прилетает бан от гугла
Обновитесь до последней версии 2.10.2.1, там оптимизирована работа с проксями и оптимальный конфиг браузера побран, чтобы рекапча сразу не банила.
Ответ CM присылает в нужно виде. его надо также запросом получать по API сервиса.
 

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