Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #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 понимал по кукам... сравнивал куки успешной авторизации через браузер, и смотрел куки которые выдавались мне при авторизации через приложение....

Собственно хотелось бы какой то помощи с авторизацией.... может я где ошибся просто .....
Ответить с цитированием
  #2  
Старый 07.03.2017, 17:45
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Эм.... Всему виною видимо была моя усталость )
все оказалось работает, проверка по кукам показала что при не верной паре логин/пароль приходит ключ AuthLock в куках,при успешной аторизации - его нет
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter