Форум » » Костыль для Мегафона. » Ответить

Костыль для Мегафона.

leha3d: Может надо кому. Попробовал написать плагин для Мегафона (обновленный личный кабинет после ноября 2018г.) У меня, вроде, работает. https://yadi.sk/d/EMh15xKcdoB55w Видит только баланс и имя абонента.

Ответов - 222, стр: 1 2 3 4 5 6 7 8 9 10 11 12 All

y-greek: xyz пишет: Включил показ внутреннего браузера: Мне кажется что не тот плагин там подключён.

y-greek: sham1975 пишет: это не причем :( ... Другой причины кроме того что IE блокирует что-то пока не вижу. Для того чтобы не менять настройки безопасности для всего инета, можно добавить https://lk.megafon.ru в Trusted sites на закладке Security и для этой зоны понизить безопасность, особенно стоит поиграться с разделом ActivX в Custom level. JSON's через api у меня загружаются через невидимый iframe куда внедряется javascript; это может кому-то не понравиться. А может вообще анвирь? Для того чтобы iframe был не скрытый надо закомментировать // две строки tag.style.display = "none"; tag.setAttribute("style", "width: 0px; height: 0px; border: none;"); sham1975 пишет: ... а непосредственно с текстом плагина от pasha Вы точно всё проверили, все ли запросы верны ?! У меня всё считывается. sham1975 пишет: а можете оставить в тексте вашего плагина только запрос баланса ? Закомментируйте строки profilename = api("/api/profile/name"); tariffcurrent = api("/api/tariff/current"); и удалите всё начиная с // Предоставленный лимит до // Выходим Кстати, там ошибочка... ie.Navigate("/logout"); надо ie.Navigate("https://lk.megafon.ru/logout/");

Quazatron: y-greek пишет: Ура! К месячному "юбилею" добавления капчи удалось сделать скрипт с ручным вводом капчи. Мега Респект! Мегафон Питер (8 номеров) и Новгород (4 номера) - отработали! Баланс и остатки минут, СМС и трафика отобразились. Названия некоторых тарифов отобразились нормально (например, Переходи на НОЛЬ 16), а некоторых как-то так: Переходи на НОЛЬ Еще раз СПАСИБО!


D2008: y-greek пишет: Ура! К месячному "юбилею" добавления капчи удалось сделать скрипт с ручным вводом капчи. Огромное спасибо!!! Пробовал сокращенную версию

y-greek: MB-megafon20191015.zip Исправил logout, убрал сокрытие iframe, в api сделал полный url, а не "/api/..." В названии тарифа замену   на пробел И сделал второй скрипт megafon-json на основе 'leha3d (Pasha edit)' от 23.07.2019

sham1975: y-greek пишет: MB-megafon20191015.zip Исправил logout, убрал сокрытие iframe, в api сделал полный url, а не "/api/..." В названии тарифа замену   на пробел И сделал второй скрипт megafon-json на основе 'leha3d (Pasha edit)' от 23.07.2019 не судьба для меня :( ... жаль ... при включении отладочного режима ("при выполнении запроса показывать внутренний браузер") видно, что после ручного ввода капчи, прога входит в личный кабинет, далее пытается найти баланс, что-то где-то находит, пишет "баланс равен нулю", считает это за ошибку и выходит из браузера, естественно без какой-либо записи в БД ... тестировал на "московской" симке ... получается, ваша версия плагина по какой-то причине не может обнаружить баланс моей симки :( ... думаю, что только это причина моей неудачи :( ... всё остальное "отрабатывает" на ура ... вводит номер и пароль сам, даёт время для ручного ввода капчи, после получения "нулевого" баланса сам всё закрывает ... эх, баланс, баланс y-greek, пожалуйста, "пошамань" ещё ... если не затруднит, сделай отдельную версию своего плагина с получением ТОЛЬКО БАЛАНСА !!! ... вообще не понимаю я в ваших "кракозябрах" !!! :(

xyz: y-greek пишет: Мне кажется что не тот плагин там подключён. Проверил, действительно так

y-greek: MB-megafon20191016.zip Видимо может быть что баланс равен 0, а тогда MobileBalance считает что произошла ошибка. Думаю что у sham1975 именно так. А отображается в кабинете (если не кликнуть на стрелку вниз) баланс+кредит. Сделал что если баланс всё-же считывается через api и равен 0, то возвращается 0.001. Если через api нет, то через другое api пытаемся считать баланс+кредит (и так же с нулём). Добавил функцию debug - если раскомментировать строку // debug(); то в папке программы записывается файл PluginSaveToLogFile.txt с полученными из api данными. Кстати, там использована ещё одна полезная находка из дампа памяти - external.SaveStrToLogFile( string ) sham1975, пришли его. Интересно в чём дело.

sham1975: y-greek пишет: Добавил функцию debug - если раскомментировать строку // debug(); то в папке программы записывается файл PluginSaveToLogFile.txt с полученными из api данными. sham1975, пришли его. Интересно в чём дело. присылать особо нечего :( ... в созданный твоим плагином файл PluginSaveToLogFile.txt записалось всего три строчки: // atourexpense: // balanceget: // multiaccountsummary: пысы: а всё остальное, как и в прошлой версии твоего плагина :( ... "при включении отладочного режима ("при выполнении запроса показывать внутренний браузер") видно, что после ручного ввода капчи, прога входит в личный кабинет, далее пытается найти баланс, что-то где-то находит, пишет "баланс равен нулю", считает это за ошибку и выходит из браузера, естественно без какой-либо записи в БД" ... пысы2: к слову, баланс не "нулевой" ... для инфы, мало ли ... плагин твой почему-то не может найти ПРОСТО БАЛАНС ... опять же, для инфы, вот кусок текста плагина от pasha, который я успешно использовал для получения ТОЛЬКО БАЛАНСА до введения капчи: // Баланс html=document.documentElement.outerHTML; regexp=/<i class=.lk_svg lk_svg_user_balans.><.i><p>.*?<.p>/; regexp2=/<div class=.gadget_account_block.><p>Баланс<.p><h4>.*?<.h4>/; if (res=regexp2.exec(html)) { tmp=res[0].replace(",", "."); tmp=tmp.replace(/ |&nbsp|\xA0|<div.*<h4>/gm, ""); response.Balance=parseFloat(tmp); } else if (res=regexp.exec(html)) { tmp=res[0].replace(",", "."); tmp=tmp.replace(/ |&nbsp|\xA0|<i.*<p>/gm, ""); response.Balance=parseFloat(tmp); };

y-greek: sham1975 пишет: присылать особо нечего :( ... в созданный твоим плагином файл PluginSaveToLogFile.txt записалось всего три строчки: Совсем интересно... Вообще-то тут должна быть ошибка плагина и соответвтвенно окно IE не закроется. А оно закрывается... Значит там всё-таки в api возвращается пустая строка. Попробую добавить считывание со страницы "Доступно на сегодня", хотя это не совсем чтобы просто.

sham1975: y-greek пишет: Совсем интересно... не шибко шарю в твоём деле, но кусок текста от паши и твой кусок текста ... по запросу просто баланса ( // Баланс ) совсем не похожи :( ... что у тебя где ищет ума не приложу :( ... повторюсь, что не разбираюсь во всём этом а ты не мог бы просто в этот текст вставить твоё "колдовство", чтобы хотя бы всплывало окно браузера, я бы вводил капчу, а дальше "как обычно" ?! // Плагин для программы MobileBalance: http://mtsoft.ru/mobilebalance/ // // Инструкция по использованию: // 1. зайти в настройки программы MobileBalance, перейти на закладку "Плагины: Операторы", добавить плагин. // 2. После этого перейти на закладку "Телефоны" и в качестве оператора выбрать оператора с названием, указанным ниже. // // FullName : Мегафон // ShortName : MgfBal // Version : 12.01.2019 // Icon : 789C73F235636100033320D600620128666450804840E591C1FFFFFFB1E237DF1F32CCBF91C7B0F66E13C3D3AFD771AA43C63FFE7C6688D8C5CC10B69381E1FCEB6D601A19171ED1C0A9F7CCAB4D286AB1E987E15B1F8EA1E9FF87A1069F7E10FEF7FF2F5C7FDC5E1E9CFA41F265C7F4C1EA57DDA963C838280516CB3C2803D78FCD7C64FDFD1743C1F4D9D79B196A4E5AC0F5806850D8E2D38F0F5F7EBB8761F59D7AAC725B1FF4E1751F084FBF92C8B0FDD124BC76E0D33FE95214C3B73F1F71EA8BDDC385573FC88FB8E441E2317B38F0EA87F96FF2A56892DD0F731BA130C225F7EFFF1F14FDBFFE7E235AFFA5B7BB71E683C5378B71EA8FD9C389926E09E10B6F7680E9EBEF0FE1540300F7C7D83E // Author : leha3d (Pasha edit) // Types : leha3d (Pasha edit) // Descript : Баланс у сотового оператора Мегафон после изменений в ноябре 2018г. // Descript : Личный кабинет: https://lk.megafon.ru/login/ function main(){ var p = 0; // Заходим на главную страницу document.location="https://lk.megafon.ru/login/"; if(!external.WaitBrowser) return; response.pages[p++]=external.source; // Вводим логин и пароль и submit форму if(document.all.j_username) { document.all.j_username.value=request.loginValue; document.all.j_password.value=request.passwValue; document.all.j_password.form.submit(); if(!external.WaitBrowser) return; response.pages[p++]=external.source; }; external.sleep(1000); // Баланс html=document.documentElement.outerHTML; regexp=/<i class=.lk_svg lk_svg_user_balans.><.i><p>.*?<.p>/; regexp2=/<div class=.gadget_account_block.><p>Баланс<.p><h4>.*?<.h4>/; if (res=regexp2.exec(html)) { tmp=res[0].replace(",", "."); tmp=tmp.replace(/ |&nbsp|\xA0|<div.*<h4>/gm, ""); response.Balance=parseFloat(tmp); } else if (res=regexp.exec(html)) { tmp=res[0].replace(",", "."); tmp=tmp.replace(/ |&nbsp|\xA0|<i.*<p>/gm, ""); response.Balance=parseFloat(tmp); }; // Выходим external.sleep(300); document.location="https://lk.megafon.ru/logout/"; if(!external.WaitBrowser) return; response.pages[p++]=external.source; }; main(); печалька, короче :( ... если бы не эта дурная капча, проблем бы не было ... вот этот "текст" очень быстро у меня получал ТОЛЬКО БАЛАНС !!! ... другого мне не надо ... сделай, пожалуйста, ТОЛЬКО БАЛАНС !!! ... а то у тебя чего там только нет ! ... у меня на симке такого никогда и не было: остатки какие-то, смс, интернет. кредит, мыло-шмыло ... от 100 до 150 рублей болтается просто для "быть на связи" с кнопочной мобилкой за 300 рублей :)

xyz: sham1975 пишет: присылать особо нечего Стесняюсь спроситьЖ а какая версия приложения? У меня MB 18.03, и всё работает. IE 11.0.155

y-greek: sham1975 пишет: печалька, короче Угу, попробую. Интересно, впрочем, почему только у тебя такие проблемы. Завтра ещё добавлю в debug дополнительные данные.

sham1975: xyz пишет: Стесняюсь спроситьЖ а какая версия приложения? У меня MB 18.03, и всё работает. IE 11.0.155 тоже самое и у меня ... вин 10 про 64 разрядная, IE 11.418.18362.0, версии обновления: 11.0.155, МБ 18.03 (08.05.2018) ... НО ... не работает ! :( выше приложил полностью текст плагина паши (только баланс забирал), с которым у меня до введения капчи всё было "как часики" ... пысы: на данный момент прога с другими плагинами успешно продолжает собирать баланс с МТС, БИЛАЙН, ТЕЛЕ2 ... а вот мегафон ни в какую

xyz: sham1975 пишет: тоже самое и у меня У меня Win 7

sham1975: xyz пишет: У меня Win 7 без разницы ... МТС, БИЛАЙН, ТЕЛЕ2 забирает баланс без проблем ... сейчас ещё симку мегафона нижний новгород попробывал ... тоже не фурычит :(

xyz: sham1975 IE - Свойства - дополнительно - сброс

sham1975: xyz пишет: sham1975 IE - Свойства - дополнительно - сброс перед и после каждого применения "новой" версии плагина от y-greek осуществляю ПОЛНЫЙ СБРОС IE (!!!), выставляю в настройках приём ВСЕХ кукисов (чтобы не было проблем), делаю ВООБЩЕ ПОЛНУЮ ОЧИСТКУ IE ... короче, так как я IE не пользуюсь от слова "совсем" для сёрфинга, я могу делать сбросы и очистки хоть каждые 5 минут или чаще, если надо ! ... но всё равно не забирает у меня БАЛАНС и не пишет в базу ! :( ... вот такая печалька !

pasha: y-greek, спасибо! В версиях megafon-json 20191016 и 20191015 у меня на одном из номеров почему-то не парсится тариф. Попробовал заменить строку if(tmp.name) response.TarifPlan = tmp.name; на if(tmp.nameHtml) response.TarifPlan = tmp.nameHtml; не помогло. В загруженных страницах строки с тарифом нет. Включил дебаг, вот часть из PluginSaveToLogFile.txt, тут всё в порядке: // tariffcurrent: {"id":"1969","name":"Включайся! Общайся 07.19","nameHtml":"Включайся! Общайся 07.19","status":"current При этом в версии megafon 20191015 тариф отобразился. Есть мысли на этот счет? Система Win7x64, IE 11.0.9600.18860

sham1975: pasha, привет ... как думаешь, в твой плагин с "только баланс", который ты любезно сделал для меня (и не только), можно "влепить" то "чудо-колдовство", которое надыбал y-greek ?!



полная версия страницы