我使用PHP为RSS feed创建了一个XML文件,其标题如下:
header("Content-Type: application/rss+xml; charset=UTF-8");
echo '<?xml version="1.0" encoding="utf-8" ?>';
我需要每120秒刷新一次页面
我可以使用以下命令自动刷新任何HTML或PHP页面:
<meta http-equiv="refresh" content="120" />
如何将以前的刷新代码添加到我的XML RSS代码中?
答案 0 :(得分:0)
我需要每120秒刷新一次页面
嗯,我有点怀疑,因为这里没有页面。页面(以及后面使用的术语“刷新代码”)意味着涉及HTML(“HTML页面”),但不涉及HTML。根据您设置的Content-Type,XML - 而不是HTML - 涉及:
header("Content-Type: application/rss+xml; charset=UTF-8");
echo '<?xml version="1.0" encoding="utf-8" ?>';
由于涉及XML而不涉及HTML,因此不涉及HTML,并且没有此类HTML刷新(atrribute值 http-equiv 可能会误导您刷新 header将是HTTP但它实际上不是协议的一部分,因此您可能误导了该构造,请参阅Meta Refresh)。
所以你可能需要这样做,但从技术上说,这是不可能的。或者反过来说:只有你需要一些东西,但这并不意味着你已经很好地满足了你需要的东西。
如何将以前的刷新代码添加到我的XML RSS代码中?
您可以逐字添加 - 例如在XML注释中添加 - 但是我想您可以询问如何添加与Web浏览器和具有该代码的HTML页面相当的功能。
好问题。由于这是您从服务器提供的XML Feed,因此只需要它。您可以通过HTTP响应标头发送一些缓存和重新访问信息(Caching in HTTP - RFC 2616广泛覆盖该主题)但除此之外,我不知道任何其他侧通道传递某种刷新信息RSS
由于RSS是基于XML的,因此模块化,您可以建议和扩展,然后告诉供应商,这些软件被认为与您的XML源一起使用。这可能是最容易的。
答案 1 :(得分:0)
我找到了一种轻松自由的方式为我做刷新,它是一个谷歌浏览器应用程序 - 即使我通常使用Firefox - 但我认为我可以使用chrome来执行该任务
它可以在任意秒数后自动刷新和自动重新加载页面。
答案 2 :(得分:0)
如果您确实想刷新显示在浏览器窗口中的RSS提要,只需发送一个HTTP
标头,其内容与http-equiv
<meta>
相同元素(此元素的全部作用:传达通常使用HTTP
标头发送的一些数据),例如:
header("Content-Type: application/rss+xml; charset=UTF-8");
header("refresh: 120");
echo '<?xml version="1.0" encoding="utf-8" ?>';
请注意,此 not 标准符合标准,因为它是Netscape引入的附加标准,并且从未进行过标准化。但是它应该在大多数浏览器中都可以使用。
如果不是您想要的,而您只是想告诉客户何时重新访问供稿以进行更新,请使用<ttl>
,如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"><channel>
<title>RSS Title</title>
<!-- other meta data here ... -->
<!-- time the information in this file stays valid (when to refresh) in minutes: -->
<ttl>2</ttl>
<!-- rss items, here ... -->
</channel></rss>
详细信息:https://cyber.harvard.edu/rss/rss.html#ltttlgtSubelementOfLtchannelgt