1

我正在使用https://pubsubhubbub.appspot.com/通过众所周知的 PubSubHubHub 协议实现来订阅提要。

我已从以下页面订阅了所需的主题: https://pubsubhubbub.appspot.com/subscribe

我收到了订阅验证,并成功回复了 $_GET 参数中收到的 hub.challenge。我已经查看了我的 Web 服务器日志,它显示从集线器发送的通知的 POST 请求:http: //i.stack.imgur.com/LH44O.png

我有我的代码设置,它将来自 $_POST 和 $_GET 的任何 key=>value 对存储在我的数据库中。它已经过测试,并且运行良好。

问:有什么要知道的,集线器是如何发送通知源的?(它肯定不在 GET 或 POST 中)以及如何在 PHP 中解析它?

我也研究过协议的工作草案,无法找出可能可行的方法。 https://pubsubhubbub.googlecode.com/git/pubsubhubbub-core-0.4.html#contentdistribution

也搜索了代码示例,太多复杂的代码对我来说没有任何意义,我如何将它翻译成简单的 PHP 解析代码。(我认为链接会帮助你)

https://code.google.com/p/pubsubhubbub/wiki/SubscriberClients

https://code.google.com/p/pubsubhubbub/source/browse/

4

1 回答 1

1

幸运的是,我有时间对这个问题进行了更多研究,还发现了一些有帮助的相关结果。只是想在这里分享结果,以便将来任何关注此问题的人都可以找到解决方案。

PubSubHubHub.AppSpot 中心通过 POST 即时发送提要更新通知以及作为正文部分的更新提要的一部分。因此,获取更新的提要并以任何语言进行解析变得很简单。只需提取页面正文并解析作为正文文本存在的 RSS-xml。

我在 PHP 中编写了以下脚本来获取更新的提要文本:

$request_body = @file_get_contents('php://input');

包含用于更新提要的$request_bodyRSS-xml。处理它,并从 RSS-xml 提要中存储您想要的任何信息。

谢谢。

参考链接:(建议我简单的解决方案) PHP 中的 Pubsubhubbub 订阅者回调实现

于 2013-07-08T18:28:13.883 回答