Помощь! Flash не может загружать XML-данные из стороннего домена

Я получаю новости от Yahoo, используя RSS-канал, используя:

XML.load("http://finance.yahoo.com/rss/topstories")

Да, это законно и все , и хотя он отлично работает, когда мой SWF находится в автономном режиме, он показывает ошибку безопасности, но я разрешаю свой «домен» диска D в Adobe Панель безопасности.

Но как только я загружу его на свой сервер и протестирую онлайн:

  • В Firefox3 данные не загружаются, и в строке состояния появляется сообщение "Перенос данных с Finance.yahoo.com"

  • В InternetExplorer7 происходит сбой без каких-либо сообщений или предупреждений.

Что происходит? Я даже поместил файл crossdomain.xml с подстановочным знаком * (разрешая все домены).


person Robin Rodricks    schedule 19.03.2009    source источник
comment
Еще немного удручающих новостей: kb.adobe.com/selfservice/viewContent.do? externalId=tn_14213   -  person Robin Rodricks    schedule 19.03.2009


Ответы (3)


Похоже, вам нужен поддомен в Yahoo, чтобы получить к нему доступ.

http://finance.yahoo.com/crossdomain.xml

<cross-domain-policy>
    <allow-access-from domain="*.yahoo.com"/>
    <allow-access-from domain="us.js2.yimg.com"/>
</cross-domain-policy>

Быстрый обходной путь — настроить прокси-скрипт на вашем собственном сервере. Там много примеров. Не пробовал это, но парень написал это по той же причине, что и вы:

http://www.abdulqabiz.com/blog/archives/general/php_proxy_script_for.php

person Theo.T    schedule 19.03.2009
comment
Да отличная идея. Так что я просто пошлю записку в Yahoo Finance HOD с просьбой одолжить мне субдомен на неопределенный срок! - person Robin Rodricks; 20.03.2009
comment
:) прокси, вероятно, дешевле ... Я часто использую этот метод, так что все должно быть в порядке, удачи! - person Theo.T; 20.03.2009

Проблема с вашим crossdomain.xml... На самом деле добавление его на ваш сайт не имеет никакого эффекта, вы должны попросить Yahoo разместить его на своем домене :-)

person alex2k8    schedule 19.03.2009

Я не уверен, что именно здесь не так, я думаю, вам нужно дать мне больше деталей.

Я настоятельно рекомендую вам прочитать это полностью.

http://www.adobe.com/devnet/flash/articles/fplayer8_security.html

Кроме того, перекрестный домен применим только к домену, который вы запрашиваете на, а не на из.

Это также может помочь вам установить Fiddler

http://www.fiddler2.com/fiddler2/

Или Чарльз

http://www.charlesproxy.com/

Это улучшит отладку http. Я предполагаю, что у вас конфликтующее поведение песочницы безопасности.

person Jotham    schedule 19.03.2009