Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Выдергнуть данные из URL-адреса (http://www.flasher.ru/forum/showthread.php?t=150460)

VitaliyKrivtsov 12.02.2011 03:00

Выдергнуть данные из URL-адреса
 
Данный вопрос касается Вконтакте, но решение скорее всего относится к знанием апи флеша и не более, по крайней мере - я так считаю.
В документации по авторизации Desktop-приложений написано, что после успешной авторизации браузер будет перенаправлен на страницу http://vkontakte.ru/api/login_success.html и в идентификаторе URI-фрагмента (якорной ссылке) будет передана информация о сессии в формате JSON.
Вот такой примерчик успешной авторизации:
Код:

http://vkontakte.ru/api/login_success.html#session={"mid":66748,"sid":"ea56492j61334be88e2e8e1dccd21ef8d2f4606f26add88b2e1ee313e2","secret":"733mf8a8c5","expire":0,"sig":"f7afd3db2d3a8a08c849bb038fd52173"}
Каким образом вытащить mid, sid, secret, sig из URL-адреса?
P.S. Чувствую что без регулярный выражении не обойтись, но наверняка не знаю.

dimarik 12.02.2011 03:07

Очень похоже на JSON сериализацию.

Добавлено через 8 минут
Ладно, в честь субботы сокращу поиск до http://www.blooddy.by/ru/crypto/

VitaliyKrivtsov 12.02.2011 03:48

dimarik, то что это JSON понятно, но насколько я понимаю JSON это только:
Код:

{"mid":66748,"sid":"ea56492j61334be88e2e8e1dccd21ef8d2f4606f26add88b2e1ee313e2","secret":"733mf8a8c5","expire":0,"sig":"f7afd3db2d3a8a08c849bb038fd52173"}
ну а все остальное лишнее и не нужное, или можно запихнуть в JSON декодер полностью эту строчку?
Просто если отделять адрес от JSON - то скорее всего рег. выражениями, ибо я другого выхода не вижу.
А с рег. выражениями я вообще не дружу. По этому и спрашиваю как вытащить данные из адреса (надеясь что не рег. выражениями).

dimarik 12.02.2011 03:54

Вероятно, этот query string попадает в stage.loaderInfo.parameters['session'].

VitaliyKrivtsov 12.02.2011 04:19

Это в том случае если флешка - загружается из страницы HTML, но в моем - это Adobe AIR и роль веб-браузера исполняет HTMLLoader, вот его и на направляем на http://vkontakte.ru/login.php, и после авторизации получаем ответ, который я уже расписал в первом посте. И вот еще что получилось - после авторизации я протрейсил свойство HTMLLoader.location - получил кучу символов под нужным мне JSON, то есть после http://vkontakte.ru/api/login_success.html#session= разобрать ничего не получается.
dimarik, так и должно быть ?

mikhailk 12.02.2011 10:58

не совсем понятно, что нужно и совсем непонятно, в чем проблема.
Строчку в формате JSON получить удалось?
Если да - то просто преобразуем ее в объект с помощью нативного десериализатора, либо стороннего (или в xml - что нужно).

Или не получается вырезать '{"mid":...}'?
Это можно сделать двумя сплитами (split), если нет желания разбираться в регулярных выражениях.


Часовой пояс GMT +4, время: 10:00.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.