Показать сообщение отдельно
  #1  
Старый 07.03.2017, 15:41
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию MegaFon Личный кабинет

Собственно... кто то пытался делать под ЛК мегафона приложение на делфи?

с одной стороны не все так и сложно и страшно...
1. Авторизаци
2. Парсинг информации
3. Управление (тут сложности должны быть)

Но на 1 этапе уже много чего не понятно.. хотя писал приложения под различные сайты... работаю с синапсом, для авторизации требуется передать 3 параметра
CSRF, j_username,j_password.
CSRF можно получить из исходного кода страницы https://lk.megafon.ru/login/

Но.... при запросе
Код:
HTTP.HTTPMethod('GET','https://lk.megafon.ru/login/');
HTTP.Document.SaveToStream (Response);
ShowMessage (Response.DataString);
он уже показывает пустоту.... т.е. не получает исходного кода страницы... так как выяснилось позже....

Код:
<script type="text/javascript"> var HISTONE_ENV={"isTheFirstTime":true,"sessionLifetime":600000,"pipesUrlPrefix":"https://lk.megafon.ru:443/pipes","CSRF":"d8c2d099-a0b5-49d7-8ba3-bcfe738f001f"}; var SERVER_TIME=1488885749000; </script>
<script type="text/javascript" src="/static/?files=/static/script/krang.js,/static/script/main.js,/static/script/googleplay/googleplay.js,/templates/login/login.js"></script>
	<script async="" src="//hq-devlabs.megafon.ru/gtm/lk.js?id=GTM-WW2X42"></script>
Но вроде бы ладно... ничего страшного забрал я значение CSRF из запроса

Код:
HTTP.HTTPMethod('GET','https://lk.megafon.ru/login/');
CSRF:=HTTP.Cookies.Strings[1];

На этом я думал работа с модулем авторизации подошла к концу.... осталось добавить в POST запрос еще 2 параметра и все... профит!

Код:
HTTP.Headers.Clear;
Post:=TStringStream.Create('');
Post.WriteString('CSRF='+CSRF);
Post.WriteString('&j_username='+Edit1.Text);
Post.WriteString('&j_password='+Edit2.Text);
HTTP.Document.LoadFromStream(Post);
HTTP.MimeType:='application/x-www-form-urlencoded';
HTTP.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36';
HTTP.HTTPMethod('POST','https://lk.megafon.ru/dologin/');

и ...........
ТАДАМ!!!!!

Ничего!

Что результат = False понимал по кукам... сравнивал куки успешной авторизации через браузер, и смотрел куки которые выдавались мне при авторизации через приложение....

Собственно хотелось бы какой то помощи с авторизацией.... может я где ошибся просто .....
Ответить с цитированием