![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2012
Сообщений: 2
|
Доброго времени суток!
Делаю радио проигрыватель на Flash CS5.5(FP 10.2/AS 3.0). Никак не могу решить проблему: в дебаге с помощью URLLoader загружаю файл, парсю его и вывожу автора и название песни на экран, если же запустить в браузере - музыка играет, но такое ощущение, что URLLoader не скачивает файл и соответственно на экране текст не отображается. Собственно код URLLoader'а: var req2:URLRequest = new URLRequest("http://109.251.162.50:8000/POST_RADIO.mp3.xspf"); var urlloader:URLLoader=new URLLoader(); var header:URLRequestHeader = new URLRequestHeader("Cache-Control", "no-cache"); var urlRequest:URLRequest=new URLRequest("http://109.251.162.50:8000/POST_RADIO.mp3.xspf" + "?" + Math.random()); urlRequest.requestHeaders.push(header); urlRequest.method = URLRequestMethod.GET; urlloader.addEventListener(Event.COMPLETE, loadedCompleteHandler); function loadedCompleteHandler(e:Event):void { var my:String = new String(urlloader.data); var ar1:Array = my.split('<title>'); var ar2:Array = ar1[1].split('</title>'); txt.text = ar2[0]; } //Вызов urlloader.load(urlRequest); Догадываюсь только, что что-то с настройками безопасности. Очень надеюсь на вашу помощь. Ошибка 2170 (SecurityErrorEvent) Последний раз редактировалось kremedved; 12.02.2012 в 20:31. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Нужно создать на сервере crossdomain.xml
По крайней мере, я думаю, что в этом проблема. Этот файл разрешает пользоваться контентом на сервере. Итак, создай файл crossdomain.xml Пропиши в нем: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="http://109.251.162.50:8000" /> </cross-domain-policy> А в коде пропиши: Security.loadPolicyFile("http://109.251.162.50:8000/crossdomain.xml"); Security.allowDomain("http://109.251.162.50:8000/); -------------------- elder_Nosferatu, извини, не заметил. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 2
|
Спасибо большое, всё заработало!
![]() |
|
|||||
|
Регистрация: Apr 2010
Адрес: Санкт-Петербург
Сообщений: 44
|
У меня точно такая же проблема, но решение с crossdomain.xml не помогло.
Вызывается ошибка 2170 (SecurityErrorEvent) при запуске с сервера (при запуске локально - работает без ошибок). Всё прописано точно так, как и в коде примера (только отсутствует везде порт, но я не думаю, что в этом может быть проблема). Что можно предпринять? Как можно получить больше информации об этой ошибке? Как можно узнать, подключается ли файл crossdomain.xml? Очень надеюсь на вашу помощь, уже третий день мучаюсь с этим. |
|
|||||
|
.
|
http://help.adobe.com/en_US/flex/usi...9084-7fc9.html
PolicyFileLog |
|
|||||
|
Регистрация: Apr 2010
Адрес: Санкт-Петербург
Сообщений: 44
|
Спасибо за ответ!
Включил нужные опции и в дебагер выводится это: Цитата:
В debug-режиме отправка не происходит. А если запустить тест проекта (Ctrl+Enter), то всё хорошо. Может быть, сrossdomain.xml описан не правильно? Он выглядит так: И не может ли быть проблема в том, что я отправляю данные на https ? |
|
|||||
|
.
|
Ключевое слово local-trusted. Я просто оставлю это здесь, как отправную точку.
Хм. Скорее всего, все-таки, из-за https. Я не работал с этим, хотя задача уже две недели по смежному проекту висит про https. PS На будущее. Есть специальная обзывалка примеров серверов. "example.com" является одним из вариантов. |
|
|||||
|
Цитата:
У вас делается запрос к https, а файл лежит просто в системной директории. Чтобы была возможность общаться по https протоколу, ваш сервер тоже должен шифровать свой ответ с помощью ключа, который ему присылается с хоста, к которому делается запрос. Естественно файл, лежащий в локальной директории, не может этого сделать никак. Поэтому тот сервер, к которосу вы делаете запрос, не может получить от него разрешение по https. Для упрощения себе задачи, советую поменять адрес https://api.server.ru/ на http://api.server.ru/ или установить apache2 и включить на нем mod-https п.с. ну и вообще, для расширения кругозора почитать про http и https, в чем различия и зачем нужен второй |
|
|||||
|
Регистрация: Apr 2010
Адрес: Санкт-Петербург
Сообщений: 44
|
На счёт local-trusted - да, я понимаю, что это совсем не так, как на сервере.
Вопрос в том, как можно дэбажить программу с использованием PolicyFileLog, и чтобы при этом был "remote" вместо "local-trusted"? Наличие локального сервера поможет в этом? Добавлено через 3 часа 13 минут Проблема решена! Чтобы флешка могла общаться по протоколу https со скриптами на другом домене, мы добавили параметр secure со значением "false" в файле crossdomain.xml: Всем спасибо, и удачи в проектах! |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|