A_R_S

Рейтинг
4
Регистрация
09.11.2014
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

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

'[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-шик не пашет

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

Цена вопроса?

---------- Добавлено 10.11.2014 в 10:20 ----------

В принципе сделал все сам :-). На МТС-е авторизовался и вижу баланс выдергиваемый из созданной при авторизации страницы 2.html.

На сайте Билайна тоже авторизовался, но в выгруженной странице не вижу сумму баланса.

Выгруженную страницу просмотрел elinks-сом баланс не обнаружил.

Осталось сделать:

1) Почему баланс невиден хотя авторизация прошла?

2) Как написать регулярку чтоб выдергивала номер как в МТС.

---------- Добавлено 10.11.2014 в 10:24 ----------

Вот код Билайна


#!/bin/sh -e

OLDPATH=$PATH; PATH=".:..:$(dirname $0):$PATH"; . _spmon_lib; PATH=$OLDPATH

# Input: LOGIN, PASSWORD Output: account balance

request_curl() {
local add_arg=
[ -z "$DEBUG" ] && add_arg=--silent || add_arg=--verbose
curl \
--user-agent "$UA" \
--cookie "$COOKIE_FILE" \
--cookie-jar "$COOKIE_FILE" \
--location \
$add_arg $@
}

#request_curl -o /tmp/1.html https://my.beeline.ru/login.html

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

#request_curl -o /tmp/3.html \
# --referer https://my.beeline.ru/login.html \ https://my.beeline.ru/c/pre/index.html
#iconv -f windows-1251 -t utf-8 $TM/3.html | sed -ne /руб./ '{ s/&nbsp;.*$//; s/^\s*//; s/,/./; p }'

Вот код МТС


#!/bin/sh -e
USERNAME='arsen' ; T1="root"
if [ "$T1" = "$USERNAME" ]; then
echo 'Please do not run this script as root' ; exit
fi

request() {
wget \
--load-cookies /tmp/cookies.txt \
--save-cookies /tmp/cookies.txt \
--keep-session-cookies \
--quiet \
$@
}
#request -O /tmp/1.html https://ihelper.mts.ru/SELFCAREPDA/Security.mvc/LogOn
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

Библиотека


# -*- mode: shell-script -*-

# Make sure that all regular expressions work locale-independently
export LC_ALL=C

exit_handler()
{
local rc=$?
trap - EXIT
rm -f $TM/1.html $TM/2.html $TM/3.html "$CA_BUNDLE" "$COOKIE_FILE"
rmdir $TM
exit $rc
}

if [ -z "$DEBUG" ]; then
TM=$(mktemp -d)
trap exit_handler HUP PIPE INT QUIT TERM EXIT
WGET_OPTIONS=--quiet
else
TM=.
WGET_OPTIONS=
fi

COOKIE_FILE="$TM/cookies.txt"

UA='Mozilla/5.0 (X11; U; Linux x86_64; ru-RU) AppleWebKit/534.5 (KHTML, like Gecko) Chrome/6.0.482.0 Safari/534.5'

# Workaround for missing / invalid CA chains in some distros
# C=US, O=Thawte, Inc., CN=Thawte SSL CA
CA_BUNDLE=$TM/ca-bundle.pem
rm -f $CA_BUNDLE
cat >>$CA_BUNDLE <<__EOF__
-----BEGIN CERTIFICATE-----
MIIEbDCCA1SgAwIBAgIQTV8sNAiyTCDNbVB+JE3J7DANBgkqhkiG9w0BAQUFADCB
qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTAwMjA4MDAwMDAwWhcNMjAw
MjA3MjM1OTU5WjA8MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMu
MRYwFAYDVQQDEw1UaGF3dGUgU1NMIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAmeSFW3ZJfS8F2MWsyMip09yY5tc0pi8M8iIm2KPJFEyPBaRF6BQM
WJAFGrfFwQalgK+7HUlrUjSIw1nn72vEJ0GMK2Yd0OCjl5gZNEtB1ZjVxwWtouTX
7QytT8G1sCH9PlBTssSQ0NQwZ2ya8Q50xMLciuiX/8mSrgGKVgqYMrAAI+yQGmDD
7bs6yw9jnw1EyVLhJZa/7VCViX9WFLG3YR0cB4w6LPf/gN45RdWvGtF42MdxaqMZ
pzJQIenyDqHGEwNESNFmqFJX1xG0k4vlmZ9d53hR5U32t1m0drUJN00GOBN6HAiY
XMRISstSoKn4sZ2Oe3mwIC88lqgRYke7EQIDAQABo4H7MIH4MDIGCCsGAQUFBwEB
BCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTASBgNVHRMB
Af8ECDAGAQH/AgEAMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudGhhd3Rl
LmNvbS9UaGF3dGVQQ0EuY3JsMA4GA1UdDwEB/wQEAwIBBjAoBgNVHREEITAfpB0w
GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItOTAdBgNVHQ4EFgQUp6KDuzRFQD38
1TBPErk+oQGf9tswHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutXSFAwDQYJ
KoZIhvcNAQEFBQADggEBAIAigOBsyJUW11cmh/NyNNvGclYnPtOW9i4lkaU+M5en
S+Uv+yV9Lwdh+m+DdExMU3IgpHrPUVFWgYiwbR82LMgrsYiZwf5Eq0hRfNjyRGQq
2HGn+xov+RmNNLIjv8RMVR2OROiqXZrdn/0Dx7okQ40tR0Tb9tiYyLL52u/tKVxp
EvrRI5YPv5wN8nlFUzeaVi/oVxBw9u6JDEmJmsEj9cIqzEHPIqtlbreUgm0vQF9Y
3uuVK6ZyaFIZkSqudZ1OkubK3lTqGKslPOZkpnkfJn1h7X3S5XFV2JMXfBQ4MDzf
huNMrUnjl1nOG5srztxl1Asoa06ERlFE9zMILViXIa4=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIERTCCA66gAwIBAgIQM2VQCHmtc+IwueAdDX+skTANBgkqhkiG9w0BAQUFADCB
zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE
CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh
d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl
cnZlckB0aGF3dGUuY29tMB4XDTA2MTExNzAwMDAwMFoXDTIwMTIzMDIzNTk1OVow
gakxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAsT
H0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAy
MDA2IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYD
VQQDExZ0aGF3dGUgUHJpbWFyeSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEArKDw+4BZ1JzHpM+doVlzCRBFDA0sbmjxbFtIaElZN/wLMxnC
d3/MEC2VNBzm600JpxzSuMmXNgK3idQkXwbAzESUlI0CYm/rWt0RjSiaXISQEHoN
vXRmL2o4oOLVVETrHQefB7pv7un9Tgsp9T6EoAHxnKv4HH6JpOih2HFlDaNRe+68
0iJgDblbnd+6/FFbC6+Ysuku6QToYofeK8jXTsFMZB7dz4dYukpPymgHHRydSsbV
L5HMfHFyHMXAZ+sy/cmSXJTahcCbv1N9Kwn0jJ2RH5dqUsveCTakd9h7h1BE1T5u
KWn7OUkmHgmlgHtALevoJ4XJ/mH9fuZ8lx3VnQIDAQABo4HCMIG/MA8GA1UdEwEB
/wQFMAMBAf8wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBz
Oi8vd3d3LnRoYXd0ZS5jb20vY3BzMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
e1tFz6/Oy3r9MZIaarbzRutXSFAwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cDovL2Ny
bC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1TZXJ2ZXJDQS5jcmwwDQYJKoZIhvcN
AQEFBQADgYEAhKhMyT4qvJrizI8LsiV3xGGJiWNa1KMVQNT7Xj+0Q+pjFytrmXSe
Cajd1FYVLnp5MV9jllMbNNkV6k9tcMq+9oKp7dqFd8x2HGqBCiHYQZl/Xi6Cweiq
95OBBaqStB+3msAHF/XLxrRMDtdW3HEgdDjWdMbWj2uvi42gbCkLYeA=
-----END CERTIFICATE-----
__EOF__

request()
{
wget \
--user-agent="$UA" \
--load-cookies "$COOKIE_FILE" \
--save-cookies "$COOKIE_FILE" \
--keep-session-cookies \
"--ca-certificate=$CA_BUNDLE" \
$WGET_OPTIONS \
$@
}

grab()
{
perl -e "undef \$/; \$_ = <>; print \$$2 if /$1/m;"
}

Взята от суда

12
Всего: 14