
В соответствии сTelegraph.co.uk, мировые новостные RSS-каналы должны быть такими: http://www.telegraph.co.uk/news/worldnews/rss
Однако в Chrome я получаю только пустую страницу.
Даже wget http://www.telegraph.co.uk/news/worldnews/rss
выдает мне файл с одной строкой:
<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet type='text/xsl' href='http://telegraph.feedsportal.com/xsl/eng/rss.xsl'?>
Что не так?
решение1
Если вы откроете консоль браузера Chrome, ctrl + shift + j
вы увидите следующее сообщение об ошибке, когда браузер попытается загрузить эту страницу:
Unsafe attempt to load URL http://telegraph.feedsportal.com/xsl/eng/rss.xsl from frame with URL http://www.telegraph.co.uk/news/worldnews/rss. Domains, protocols and ports must match.
Происходит следующее: RSS-канал пытается загрузить файл xsl, который является способом для веб-сайта красиво отформатировать свои RSS-каналы в браузере. Но поскольку Telegraph разместил свой xsl-файл на другом домене, политика безопасности браузера не позволяет его загрузить. И поскольку он не может загрузиться, Chrome вообще ничего не отображает. Это можно считать ошибкой Chrome, если Chrome не может загрузить xsl, он действительно должен вернуться к своему поведению по умолчанию.
Вы можете просмотреть исходный код RSS-канала, чтобы убедиться в его подлинности, загрузив пустую страницу и нажавctrl + u