Мониторинг баланса via BASH

12
AR
На сайте с 09.11.2014
Offline
4
2333

Фрагмент кода который должен выдергивать баланс на Билайне:


#!/bin/sh -e

request_curl -o /tmp/1.html \
--data "loginFormB2C%3AloginForm=loginFormB2C%3AloginForm&loginFormB2C%3AloginForm%3Alogin=НОМЕР&loginFormB2C%3AloginForm%3Apassword=ПАРОЛЬ&loginFormB2C%3AloginForm%3ApasswordVisibl$ \
https://my.beeline.ru/login.html

Авторизация в личном кабинете проходит.

Отображается только номер телефона без баланса http://i.imgur.com/FWEquxP.jpg

Как увидеть баланс?

Для примера приведу МТС код который работает:


request -O /tmp/mts.html --post-data="username=НОМЕР&password=ПАРОЛЬ" https://ihelper.ug.mts.ru/SelfCarePda/Security.mvc/LogOn?returnLink=http%3A%2F%2Fihelper.ug.mts.ru%3A8087%2FSelfCarePd$
sed -ne '/<br\/>Баланс:/ { s,.*>\([0-9.]*\)</.*$,\1,; p }'</tmp/mts.html
[umka]
На сайте с 25.05.2008
Offline
456
#1
Загрузка баланса ...

Баланс подгружается ajax-ом.

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

Лог в помощь!
AR
На сайте с 09.11.2014
Offline
4
#2

Fiddler-ром ловил запросы, как вы думаете поймает ли он аякс?

[umka]
На сайте с 25.05.2008
Offline
456
#3

Не знаю, что такое Fiddler, и как он чего ловит :)

По-моему, проще глазами посмотреть на код.

AR
На сайте с 09.11.2014
Offline
4
#4
'[umka:
;13266933']Не знаю, что такое Fiddler, и как он чего ловит :)
По-моему, проще глазами посмотреть на код.

Это программа которая отслеживает все HTTP запросы.

После я могу продублировать то что отловила программа на bash

---------- Добавлено 13.11.2014 в 18:21 ----------

Также пробовал логиниться к МегаФону.

Все работает на ура:


request -O /tmp/2.html --post-data="SESSION_ID=qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf&CHANNEL=WWW&LOGIN=ЛОГИН&PASSWD=ПАРОЛЬ" https://kavkazsg.megafon.ru/SCC/SC_BASE_$
request -O /tmp/3.html --post-data="P_GRID_LEFT=0&P_GRID_WIDTH=&findspec=&CHANNEL=WWW&SESSION_ID=qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf&P_USER_LANG_ID=1" https://kavkazsg$

sed -ne '/<div class="balance_good td_def">/ { s,^.*: \([0-9.-]*\)</div>$,\1,; p }' </tmp/3.html

Но проблема в переменной SESSION_ID, откуда достать новую?

Авторизовался на сайте из браузера как обычно, вытащил SESSION_ID с помощью Fiddelr, вставил в код bash и все работает.

Когда выйду с сервисгида то все капут, bash-шик не пашет

Den73
На сайте с 26.06.2010
Offline
523
#5

в браузере есть же отладчик посмотрите каким запросом баланс забирается

AR
На сайте с 09.11.2014
Offline
4
#6
Den73:
в браузере есть же отладчик посмотрите каким запросом баланс забирается

F12 в Хроме, вы про это?

http://i.imgur.com/rvkVDbQ.jpg

А как быть с сессиями, генерировать что ли(для мегафона)?

---------- Добавлено 14.11.2014 в 00:03 ----------

Обнаружил такое при обновлении баланса (нажал в сервис гиде на кнопку обновиться)


javax.faces.partial.ajax=true&javax.faces.source=j_idt579%3Aj_idt721%3Aj_idt749&javax.faces.partial.execute=%40all&javax.faces.partial.render=j_idt579%3Aj_idt721+headerBalance+&j_idt579%3Aj_idt721%3Aj_idt749=j_idt579%3Aj_idt721%3Aj_idt749&j_idt579%3Aj_idt721=j_idt579%3Aj_idt721&javax.faces.ViewState=8664211104783393832%3A2126565511672937248


Referer: https://my.beeline.ru/c/pre/index.html

И как теперь это применить?

rustelekom
На сайте с 20.04.2005
Offline
522
#7

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

SSD VPS, SSD хостинг и выделенные серверы в Германии или РФ, FTP хранилища, регистрация доменов и SSL сертификаты ( https://www.robovps.biz/ ) Контакты: Telegram ( https://t.me/rustelekom_bot )
N
На сайте с 06.05.2007
Offline
419
#8

A_R_S, я так понимаю bash тут потому, что ваш Дагестанский Хозяин приказал сделать скрипт на bash для системы мониторинга ? Ну так это не обязательно.

Работник внезапно может выступить с предложением применить нормальный язык программирования. Масса людей пишет всякие парсеры-грабберы на php, накопили кучу опыта, написали статьи. php можно запускать из командной строки и не обязательно php делает страничку сайта, но может просто вывести одну строчку. А некоторые системы мониторинга типа cacti - целиком на php.

Кнопка вызова админа ()
V
На сайте с 05.08.2007
Offline
87
#9

Можно и на php. Но на bash с сессиями можно работать ничуть не хуже, чем на php. Плюс, админу на bash должно быть привычнее :)

С уважением, Victor (http://adm-lib.ru)
AR
На сайте с 09.11.2014
Offline
4
#10
VGrey:
Можно и на php. Но на bash с сессиями можно работать ничуть не хуже, чем на php. Плюс, админу на bash должно быть привычнее :)

Вы это про curl и wget?

Или есть что-то еще для работы с сессиями?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий