1

Тема: content-type для файла crossdomain.xml

Здравствуйте!

Для того, чтобы флэш-приложения могли обращаться к вашему серверу у вас лежит файл http://skycast.su:2007/crossdomain.xml. Это здорово!
К сожалению сейчас, когда он отдается, Content-Type выставляется в application/octet-stream. Но начиная с версии 9.0.115.0 флэш-плеер игнорирует policy-файлы, у которых Content-Type отличается от
text/* (any text type)
или
application/xml or application/xhtml+xml
(см. http://www.adobe.com/devnet/flashplayer … ty_02.html, раздел Content-type whitelist)

Очень бы хотелось, чтобы вы стали отдавать правильный Content-Type. Конкретно в данном случае это хочется для того, чтобы можно было из флэша скачивать страницу http://skycast.su:2007/ и парсить ее, чтобы вывести название текущей песни.

Я понимаю, что можно сделать proxy-скрипт и захостить его на своем сайте, где будет правильно отдаваться crossdomain.xml. Но если вы поправите у себя, то будет хорошо не только мне.

Как оказалось, это известная проблема с тем, что сервер Icecast'а отдает неправильный Content-Type. Вот здесь http://www.draftlight.net/dnex/mp3playe … itical.php есть рекомендации по тому, как это исправить.

Спасибо. Надеюсь, что поможете.

2

Re: content-type для файла crossdomain.xml

Здравствуйте.

Извините за задержку с ответом, по e-mail было бы оперативнее.

Расскажите подробнее какие именно действия необходимо произвести для правильной выдачи типа файла.

Спасибо.

3

Re: content-type для файла crossdomain.xml

пишет AlexIT:

Здравствуйте.

Извините за задержку с ответом, по e-mail было бы оперативнее.

Расскажите подробнее какие именно действия необходимо произвести для правильной выдачи типа файла.

Спасибо.

Я могу лишь объяснить то, что написано по ссылке (http://www.draftlight.net/dnex/mp3playe … itical.php), т. к. я попробовал быстро поднять у себя icecast2 на debian hardy и там и так все заработало.

Если в конфиге icecast'а (у меня это /etc/icecast2/icecast.xml) у вас написано не делать chroot при запуске (написано <chroot>0</chroot>), то нужно убедиться, что у вас есть файл /etc/mime.types и в нем есть строчка
application/xml        xml xsl

Если в конфиге стоит <chroot>1</chroot>, то надо чтобы mime.types лежал там, куда установлен icecast и чтобы в нем была нужная строчка про application/xml. На моем примере, когда icecast установлен в /usr/share/icecast2:
mkdir /usr/share/icecast2/etc
ln -s /etc/mime.types /usr/share/icecast2/etc/