|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2009
Сообщений: 8
|
crossdomain.xml в разных браузерах: IE, Opera, Mozilla.
Пытаюсь осуществить обращение флешки к стороннему серверу. Все сделал по правилам: создал crossdomain.xml, загрузил в корень.
В Internet Explorer 7 и FireFox Mozilla 3 все работает великолепно!!! Opera 9 - полный провал: флешка не может получить доступ к стороннему серверу. Изучение оправляемых оперой пакетов снифером показал, что опера вместо того чтобы запрашивать crossdomain.xml шлет всякий бред и получает от xxx.yyy.ru всякие error 404 и т.д. В чем проблема? Ведь флеш приложения нормально работают в Опере. Почему не работает мое? Как мне быть уверенным в том что и в остальных менее популярных браузерах моя флешка будет работать правильно?! Моя простейшая флешка на http://vkontakte.ru/appxxxxxxx_xxxxxxx. Грузиться отсюда: http://cs4337.vkontakte.ru/uxxxxxxxxx/blablablabla.zip System.useCodepage=true; info.text="Введите команду и нажмите \"SEND\""; var sen_obj:LoadVars=new LoadVars(); //Отправитель var rec_obj:LoadVars=new LoadVars(); //Получатель but_send.onPress=function():Void{ vivod.text=""; sen_obj.com=vvod.text; sen_obj.sendAndLoad("http://xxx.yyy.ru/cgi-bin/com.cgi",rec_obj,"POST"); info.text="Команда отправлена..."; } rec_obj.onData=function(text:String):Void{ if (text == undefined){ info.text="Сервер недоступен"; } else { info.text="Сервер ответил: "; vivod.text=text; } }
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="master-only"/> <allow-access-from domain="*"/> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy> Вот запросы браузеров и ответы сервера: Mozilla запрос: GET /crossdomain.xml HTTP/1.1 Host: xxx.yyy.ru User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive HTTP/1.1 200 OK Date: Tue, 23 Jun 2009 17:25:40 GMT Server: Apache Last-Modified: Sat, 20 Jun 2009 21:29:38 GMT ETag: "ea6b6d-13c-4a3d54c2" Accept-Ranges: bytes Content-Length: 316 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: application/xml <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="master-only"/> <allow-access-from domain="*"/> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy> GET /crossdomain.xml HTTP/1.1 User-Agent: Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1 Host: xxx.yyy.ru Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Referer: http://cs4337.vkontakte.ru/uxxxxxxx/blablablabla.zip Connection: Keep-Alive HTTP/1.1 302 Found Date: Tue, 23 Jun 2009 17:31:46 GMT Server: Apache Location: http://www.yyy.ru/err/error.phtml?err=403 Keep-Alive: timeout=5, max=99 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=iso-8859-1 X-Pad: avoid browser bug e0 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>302 Found</TITLE> </HEAD><BODY> <H1>Found</H1> The document has moved <A HREF="http://www.yyy.ru/err/error.phtml?err=403">here</A>.<P> </BODY></HTML> 0 |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Запросите просто crossdomain.xml из Opera, для начала. Есть подозрение, что виноват ваш собственный сервер.
|
|
|||||
Регистрация: Jun 2009
Сообщений: 8
|
Пробовал, все нормально: crossdomain.xml нормально загружается. Это не мой собственный сервер, а бесплатный хостинг. Попросил протестировать друзей. Около 30 человек учавствовало. Не работает у всех у кого Opera.
Пробовал на локальном сервере (SmallHttpServer v3) - такая же история: всем браузерам отправляется crossdomain.xml а Опере страница с ошибкой... Добавлено через 9 минут Прихожу к единственному логическому выводу: запрос оперы отличается от запроса мозиллы и от случая когда оперой напрямую запрашивается crossdomain.xml только наличием "Referer" в HTTP заголовке: [code]Referer: http://cs4337.vkontakte.ru/uxxxxxxx/blablablabla.zip[code] Может быть попробовать как то заставить в AS запросить crossdomain.xml без оправки реферера? Только как это сделать?.. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Реферер отправляет не флеш, а браузер.
|
|
|||||
Регистрация: Jun 2009
Сообщений: 8
|
Подскажите пожалуйста хоть в каком направлении искать?? Что еще попробовать? Невижу выхода.
|
|
|||||
Регистрация: Sep 2008
Сообщений: 27
|
таже самая беда (( из оперы не могут выполнится запросы к стороннему серверу (((
|
|
|||||
Попробуйте при публикации флешки на странице указать параметр allowScriptAcces
__________________
http://merfius.weebly.com/ |
Часовой пояс GMT +4, время: 22:58. |
|
« Предыдущая тема | Следующая тема » |
|
|