баланс мегафон. есть живое решение ?
Модератор: immortal
-
- Сообщения: 284
- Зарегистрирован: Сб ноя 24, 2012 11:47 am
- Благодарил (а): 29 раз
- Поблагодарили: 28 раз
Re: баланс мегафон. есть живое решение ?
еще один вопрос: как узнать IP своего модема в своем маршрутизаторе?! не думал, что он вообще существует. или надо обязательно перепрошить под hilink и тогда он будет в списке устройств в маршрутизаторе?
-
- Сообщения: 3
- Зарегистрирован: Чт ноя 26, 2015 12:27 pm
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: баланс мегафон. есть живое решение ?
Обязательно надо прошивать. И IP будет всегда один - 192.168.8.1
-
- Сообщения: 28
- Зарегистрирован: Сб ноя 29, 2014 12:20 am
- Благодарил (а): 7 раз
- Поблагодарили: 0
Re: баланс мегафон. есть живое решение ?
А как использовать? Закинул в lib пытаюсь вызвать функции и ни чего не происходит?zahar13 писал(а):На самом деле без разницы - в роутер он воткнут или в USB. В любом случае он выступает как маленький маршрутизатор, с внутренним IP адресом 192.168.8.1. На этом адресе доступен API, который можно дергать.
Скрипт аттачу.
Спасибо.
Re: баланс мегафон. есть живое решение ?
Дело в том, что для получения баланса надо вызвать USSD функцию. А ответ приходит не мгновенно, а асинхронно. Поэтому надо поставить таймер на +15 секунд, например, и тогда уже заглянуть в ответ.
То есть, делаешь скрипт, или кнопку, на которую вешаешь вызов HiLink::sendUSSDRequest('*100#');
Сразу в этом скрипте SetTimer, который через 15 секунд вызовет другой скрипт.
А уже он, в свою очередь, делает HiLink::getUSSDResponse(); Результат этого вызова - и есть отклик от провайдера.
Его еще нужно распарсить, потому что Мегафон, например, не только сумму баланса возвращает, а еще и всякую нягу добавляет в виде рекламы и информации.
Как-то так.
Код в точности не могу привести, написал по памяти, потому что тот инстанс MD мне сейчас недоступен.
То есть, делаешь скрипт, или кнопку, на которую вешаешь вызов HiLink::sendUSSDRequest('*100#');
Сразу в этом скрипте SetTimer, который через 15 секунд вызовет другой скрипт.
А уже он, в свою очередь, делает HiLink::getUSSDResponse(); Результат этого вызова - и есть отклик от провайдера.
Его еще нужно распарсить, потому что Мегафон, например, не только сумму баланса возвращает, а еще и всякую нягу добавляет в виде рекламы и информации.
Как-то так.
Код в точности не могу привести, написал по памяти, потому что тот инстанс MD мне сейчас недоступен.
- Рейтинг: 1.16%
-
- Сообщения: 28
- Зарегистрирован: Сб ноя 29, 2014 12:20 am
- Благодарил (а): 7 раз
- Поблагодарили: 0
Re: баланс мегафон. есть живое решение ?
Доброго времени суток.
zahar13, а как можно дополнить Ваш скрипт на получение смс? Дело в том, что у мегафона есть запрос *558# (остатки по пакетам), но ответ приходит в виде смс. И не помешала бы возможность перезагрузки модема.
Сам к сожалению не осилил, слабоват в php и xml.
Спасибо.
zahar13, а как можно дополнить Ваш скрипт на получение смс? Дело в том, что у мегафона есть запрос *558# (остатки по пакетам), но ответ приходит в виде смс. И не помешала бы возможность перезагрузки модема.
Сам к сожалению не осилил, слабоват в php и xml.
Спасибо.
-
- Сообщения: 28
- Зарегистрирован: Сб ноя 29, 2014 12:20 am
- Благодарил (а): 7 раз
- Поблагодарили: 0
Re: баланс мегафон. есть живое решение ?
Доброго времени суток.
zahar13, а как можно дополнить Ваш скрипт на получение смс? Дело в том, что у мегафона есть запрос *558# (остатки по пакетам), но ответ приходит в виде смс. И не помешала бы возможность перезагрузки модема.
Сам к сожалению не осилил, слабоват в php и xml.
Спасибо.
PS В теме не отображается часть постов, хотя в режиме ответа они присутствуют.
zahar13, а как можно дополнить Ваш скрипт на получение смс? Дело в том, что у мегафона есть запрос *558# (остатки по пакетам), но ответ приходит в виде смс. И не помешала бы возможность перезагрузки модема.
Сам к сожалению не осилил, слабоват в php и xml.
Спасибо.
PS В теме не отображается часть постов, хотя в режиме ответа они присутствуют.
-
- Сообщения: 38
- Зарегистрирован: Ср апр 27, 2016 11:19 pm
- Благодарил (а): 11 раз
- Поблагодарили: 2 раза
Re: баланс мегафон. есть живое решение ?
Кто как на данный момент выдергивает баланс?
По этой ссылке выдает только бананс - https://moscowsg.megafon.ru/MEGAFON_BAL ... D=YYYYYYYY
А мне нужно инфо по остаткам минут , смс, интернет.
Пробовал выдергивать через "Веб-переменные" со странички MobileBalance, но MajorDomo видимо повторно из кеша проверяет. Выдает старые значения, хотя уже есть изменения.
Так же пробовал написать сценарий парсинга со странички MobileBalance.
Вывод echo выдает правильные данные, но как пытаюсь установить значения объекту, выдает ошибку:
Warning: json_encode(): recursion detected in C:\_majordomo\htdocs\lib\caching.class.php on line 107
И присваивает значение:
Подскажет кто?
По этой ссылке выдает только бананс - 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]);
Warning: json_encode(): recursion detected in C:\_majordomo\htdocs\lib\caching.class.php on line 107
И присваивает значение:
Код: Выделить всё
<td id="Balance">16.26</td>
-
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Благодарил (а): 99 раз
- Поблагодарили: 140 раз
- Контактная информация:
Re: баланс мегафон. есть живое решение ?
https://geektimes.ru/post/247314/craber писал(а):Кто как на данный момент выдергивает баланс?
Подскажет кто?
Последний комментарий:
Если читаешь в 2016, пользуй вот такую команду для уточнения баланса(до рублей обрезаем) — wget https://sm.megafon.ru/sm/client/balance ... ssword=ыыы -q -O -|grep balance|cut -d "<" -f2|cut -d ">" -f2|cut -d. -f 1
У меня не заработало
-
- Сообщения: 105
- Зарегистрирован: Чт окт 20, 2016 10:59 pm
- Благодарил (а): 1 раз
- Поблагодарили: 7 раз
Re: баланс мегафон. есть живое решение ?
У меня работает:
Есть подозрение, что должен быть включен мультифон и пароль должен быть от него.
*** Сообщение запрещено. Сообщение похоже на спам. ***
Код: Выделить всё
$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);
*** Сообщение запрещено. Сообщение похоже на спам. ***