Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.02.2012, 20:13
kremedved вне форума Посмотреть профиль Отправить личное сообщение для kremedved Найти все сообщения от kremedved
  № 1  
Ответить с цитированием
kremedved

Регистрация: Feb 2012
Сообщений: 2
Attention URLLoader и запуск SWF в браузере

Доброго времени суток!
Делаю радио проигрыватель на Flash CS5.5(FP 10.2/AS 3.0).
Никак не могу решить проблему: в дебаге с помощью URLLoader загружаю файл, парсю его и вывожу автора и название песни на экран, если же запустить в браузере - музыка играет, но такое ощущение, что URLLoader не скачивает файл и соответственно на экране текст не отображается.

Собственно код URLLoader'а:
Код AS3:
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.
Старый 12.02.2012, 21:04
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 2  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Ошибка 2170 Нарушение безопасности изолированной среды: %1 не может отправить заголовки HTTP для %2.

crossdomain.xml?

Старый 12.02.2012, 21:08
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 3  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: 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>
Отправь этот файл на свой сайт.
А в коде пропиши:
Код AS3:
Security.loadPolicyFile("http://109.251.162.50:8000/crossdomain.xml");
Security.allowDomain("http://109.251.162.50:8000/);
Должно работать.

--------------------
elder_Nosferatu, извини, не заметил.

Старый 13.02.2012, 02:23
kremedved вне форума Посмотреть профиль Отправить личное сообщение для kremedved Найти все сообщения от kremedved
  № 4  
Ответить с цитированием
kremedved

Регистрация: Feb 2012
Сообщений: 2
Спасибо большое, всё заработало!

Старый 04.04.2014, 17:21
needForAnswer вне форума Посмотреть профиль Отправить личное сообщение для needForAnswer Найти все сообщения от needForAnswer
  № 5  
Ответить с цитированием
needForAnswer
 
Аватар для needForAnswer

Регистрация: Apr 2010
Адрес: Санкт-Петербург
Сообщений: 44
У меня точно такая же проблема, но решение с crossdomain.xml не помогло.
Вызывается ошибка 2170 (SecurityErrorEvent) при запуске с сервера (при запуске локально - работает без ошибок).

Всё прописано точно так, как и в коде примера (только отсутствует везде порт, но я не думаю, что в этом может быть проблема).

Что можно предпринять?
Как можно получить больше информации об этой ошибке?
Как можно узнать, подключается ли файл crossdomain.xml?

Очень надеюсь на вашу помощь, уже третий день мучаюсь с этим.

Старый 04.04.2014, 18:28
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
http://help.adobe.com/en_US/flex/usi...9084-7fc9.html
PolicyFileLog
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 04.04.2014, 18:58
needForAnswer вне форума Посмотреть профиль Отправить личное сообщение для needForAnswer Найти все сообщения от needForAnswer
  № 7  
Ответить с цитированием
needForAnswer
 
Аватар для needForAnswer

Регистрация: Apr 2010
Адрес: Санкт-Петербург
Сообщений: 44
Спасибо за ответ!
Включил нужные опции и в дебагер выводится это:

Цитата:
*** Нарушение безопасности изолированной среды ***
Подключение к https://api.server.ru/crossdomain.xml прервано – нет разрешения от file:///C|/file.swf
– Ненадежные локальные SWF-файлы не могут связываться с Интернетом.
Это не даёт нужной информации. Можно ли вывести что-то подобное при запуске с сервера?

В debug-режиме отправка не происходит. А если запустить тест проекта (Ctrl+Enter), то всё хорошо.

Может быть, сrossdomain.xml описан не правильно? Он выглядит так:
PHP код:
<cross-domain-policy>
<
allow-access-from domain="*"/>
<
allow-http-request-headers-from domain="*" headers="*"/>
<
site-control permitted-cross-domain-policies="all"/>
</
cross-domain-policy
И не может ли быть проблема в том, что я отправляю данные на https ?

Старый 04.04.2014, 21:44
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ключевое слово local-trusted. Я просто оставлю это здесь, как отправную точку.

Хм. Скорее всего, все-таки, из-за https. Я не работал с этим, хотя задача уже две недели по смежному проекту висит про https.

PS На будущее. Есть специальная обзывалка примеров серверов. "example.com" является одним из вариантов.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 05.04.2014, 10:26
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 9  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Подключение к https://api.server.ru/crossdomain.xml прервано – нет разрешения от file:///C|/file.swf
Так в чем проблема поднять локальный сервер и залить туда свой файл?

У вас делается запрос к https, а файл лежит просто в системной директории. Чтобы была возможность общаться по https протоколу, ваш сервер тоже должен шифровать свой ответ с помощью ключа, который ему присылается с хоста, к которому делается запрос. Естественно файл, лежащий в локальной директории, не может этого сделать никак. Поэтому тот сервер, к которосу вы делаете запрос, не может получить от него разрешение по https.

Для упрощения себе задачи, советую поменять адрес https://api.server.ru/ на http://api.server.ru/
или установить apache2 и включить на нем mod-https

п.с. ну и вообще, для расширения кругозора почитать про http и https, в чем различия и зачем нужен второй

Старый 05.04.2014, 17:56
needForAnswer вне форума Посмотреть профиль Отправить личное сообщение для needForAnswer Найти все сообщения от needForAnswer
  № 10  
Ответить с цитированием
needForAnswer
 
Аватар для needForAnswer

Регистрация: Apr 2010
Адрес: Санкт-Петербург
Сообщений: 44
На счёт local-trusted - да, я понимаю, что это совсем не так, как на сервере.
Вопрос в том, как можно дэбажить программу с использованием PolicyFileLog, и чтобы при этом был "remote" вместо "local-trusted"? Наличие локального сервера поможет в этом?

Добавлено через 3 часа 13 минут
Проблема решена!

Чтобы флешка могла общаться по протоколу https со скриптами на другом домене, мы добавили параметр secure со значением "false" в файле crossdomain.xml:
Код:
<cross-domain-policy>
    <allow-access-from domain="example.com" secure="false"/>
    <allow-http-request-headers-from domain="example.com" headers="*" secure="false"/>
</cross-domain-policy>
Всем спасибо, и удачи в проектах!

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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