Страница 3 из 4
Re: баланс мегафон. есть живое решение ?
Добавлено: Вт ноя 24, 2015 8:56 am
denis
еще один вопрос: как узнать IP своего модема в своем маршрутизаторе?! не думал, что он вообще существует. или надо обязательно перепрошить под hilink и тогда он будет в списке устройств в маршрутизаторе?
Re: баланс мегафон. есть живое решение ?
Добавлено: Вт ноя 24, 2015 3:19 pm
zahar13
Обязательно надо прошивать. И IP будет всегда один - 192.168.8.1
Re: баланс мегафон. есть живое решение ?
Добавлено: Вт ноя 24, 2015 6:21 pm
denis
ок. теперь все понятно.
Re: баланс мегафон. есть живое решение ?
Добавлено: Ср дек 30, 2015 2:09 pm
AlexK-71
zahar13 писал(а):На самом деле без разницы - в роутер он воткнут или в USB. В любом случае он выступает как маленький маршрутизатор, с внутренним IP адресом 192.168.8.1. На этом адресе доступен API, который можно дергать.
Скрипт аттачу.
А как использовать? Закинул в lib пытаюсь вызвать функции и ни чего не происходит?
Спасибо.
Re: баланс мегафон. есть живое решение ?
Добавлено: Сб янв 02, 2016 8:12 pm
Singib
Дело в том, что для получения баланса надо вызвать USSD функцию. А ответ приходит не мгновенно, а асинхронно. Поэтому надо поставить таймер на +15 секунд, например, и тогда уже заглянуть в ответ.
То есть, делаешь скрипт, или кнопку, на которую вешаешь вызов HiLink::sendUSSDRequest('*100#');
Сразу в этом скрипте SetTimer, который через 15 секунд вызовет другой скрипт.
А уже он, в свою очередь, делает HiLink::getUSSDResponse(); Результат этого вызова - и есть отклик от провайдера.
Его еще нужно распарсить, потому что Мегафон, например, не только сумму баланса возвращает, а еще и всякую нягу добавляет в виде рекламы и информации.
Как-то так.
Код в точности не могу привести, написал по памяти, потому что тот инстанс MD мне сейчас недоступен.
Re: баланс мегафон. есть живое решение ?
Добавлено: Вт фев 02, 2016 4:53 pm
AlexK-71
Доброго времени суток.
zahar13, а как можно дополнить Ваш скрипт на получение смс? Дело в том, что у мегафона есть запрос *558# (остатки по пакетам), но ответ приходит в виде смс. И не помешала бы возможность перезагрузки модема.
Сам к сожалению не осилил, слабоват в php и xml.
Спасибо.
Re: баланс мегафон. есть живое решение ?
Добавлено: Ср фев 03, 2016 11:25 am
AlexK-71
Доброго времени суток.
zahar13, а как можно дополнить Ваш скрипт на получение смс? Дело в том, что у мегафона есть запрос *558# (остатки по пакетам), но ответ приходит в виде смс. И не помешала бы возможность перезагрузки модема.
Сам к сожалению не осилил, слабоват в php и xml.
Спасибо.
PS В теме не отображается часть постов, хотя в режиме ответа они присутствуют.
Re: баланс мегафон. есть живое решение ?
Добавлено: Вт ноя 08, 2016 11:39 pm
craber
Кто как на данный момент выдергивает баланс?
По этой ссылке выдает только бананс -
https://moscowsg.megafon.ru/MEGAFON_BAL ... D=YYYYYYYY
А мне нужно инфо по остаткам минут , смс, интернет.
Пробовал выдергивать через "Веб-переменные" со странички MobileBalance, но MajorDomo видимо повторно из кеша проверяет. Выдает старые значения, хотя уже есть изменения.
Так же пробовал написать сценарий парсинга со странички MobileBalance.
Код: Выделить всё
require_once 'simple_html_dom.php';
$html = file_get_html('http://192.168.1.2:19778/12345678/'); // 12345678 - пароль
$balance = $html->find('td[id=Balance]');
$sms = $html->find('td[id=SMS]');
$minut = $html->find('td[id=Min]');
$internet = $html->find('td[id=Internet]');
$QueryTime = $html->find('td[id=LastQueryTime]');
echo $balance[0]; - Первый абонент
echo $balance[1]; - Второй абонент
//sg('admin.tel_balance', $balance[0]);
//sg('kisa.tel_balance', $balance[1]);
Вывод echo выдает правильные данные, но как пытаюсь установить значения объекту, выдает ошибку:
Warning: json_encode(): recursion detected in C:\_majordomo\htdocs\lib\caching.class.php on line 107
И присваивает значение:
Подскажет кто?
Re: баланс мегафон. есть живое решение ?
Добавлено: Ср ноя 09, 2016 10:08 pm
ErmolenkoM
craber писал(а):Кто как на данный момент выдергивает баланс?
Подскажет кто?
https://geektimes.ru/post/247314/
Последний комментарий:
Если читаешь в 2016, пользуй вот такую команду для уточнения баланса(до рублей обрезаем) — wget
https://sm.megafon.ru/sm/client/balance ... ssword=ыыы -q -O -|grep balance|cut -d "<" -f2|cut -d ">" -f2|cut -d. -f 1
У меня не заработало

Re: баланс мегафон. есть живое решение ?
Добавлено: Чт ноя 10, 2016 9:24 pm
Ged
У меня работает:
Код: Выделить всё
$url_prefix=$this->getProperty('url'); // https://sm.megafon.ru/sm/client/balance/?
$login=$this->getProperty('login');
$pass=$this->getProperty('pass');
$balancemin=$this->getProperty('balanceMin');
$oldbalance=$this->getProperty('balance');
$url=$url_prefix.'login='.$login.'&password='.$pass;
$data_file=$url; // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
if ($xml->balance==0||!isset($xml->balance)) {
say("Какая-то беда. Получили неправильное значение баланса:".$xml->balance);
return;
}
if ($oldbalance<>$xml->balance)
{
$this->setProperty('balance',$xml->balance);
}
if ($balancemin>$xml->balance)
{$this->callMethod("NotifyOn");}
//say('Обновили для '.$this->object_title);
Есть подозрение, что должен быть включен мультифон и пароль должен быть от него.
*** Сообщение запрещено. Сообщение похоже на спам. ***