我现在开始使用 Pubsubhubbub(以及所有关于实时的东西),但我在订阅者选项方面遇到了麻烦。
我正在尝试用 PHP 开发一个 webapp:
- 订阅中心的 RSS(以前发布)(http://pubsubhubbub.appspot.com/);
- 从订阅中心读取通知(更新);没有成功!!!:(
我验证了订阅者(在 Git 中)的 php 中存在一个库,但是使用这个库不能使订阅工作(得到 409 错误!)。
我怎样才能做到这一点?
我现在开始使用 Pubsubhubbub(以及所有关于实时的东西),但我在订阅者选项方面遇到了麻烦。
我正在尝试用 PHP 开发一个 webapp:
我验证了订阅者(在 Git 中)的 php 中存在一个库,但是使用这个库不能使订阅工作(得到 409 错误!)。
我怎样才能做到这一点?
我会尝试的第一件事是忘记库,并尝试准确了解订阅者上下文中发生的事情。构建一个同时处理所有这些的脚本应该非常简单。
订阅者应用程序必须做两件事:
所以让我们开始吧:
hub.challenge
参数并返回 200。curl -X POST http://pubsubhubbub.appspot.com/ -d'hub.mode=subscribe' -d'hub.verify=sync' -d'hub.topic=http://the.feed.url' -d'hub.callback=http://the.script.url' -D-
如果一切正常,您发送的 curl 请求应该会告诉您集线器返回了 204。如果您收到其他任何信息,请检查响应的正文,它会指出您出了什么问题。
之后...
我希望这有帮助。您还可以使用此工具来调试您需要帮助的订阅。
这是一个老问题,链接到的 PHP 库 ddluis 有很多缺陷。
Google Code wiki 中推荐的 PHP 订阅者是 PuSHSubscriber:
http://github.com/lxbarth/PuSHSubscriber/
更新:
我分叉了 PuSHSubscriber:http: //github.com/bobdia/PuSHSubscriber
我做了一些与原版不兼容的更改。一个简单的实现可以在/example目录中找到。这并不意味着实际使用,仅用于演示目的。希望对你有帮助。
一些可能有用的代码,有好的文档:
饲料聚合器示例: