如果一个Feed支持PubSubHubbub协议,那么在feed中将会告诉你,托管这个feed的hub的地址。比如,在http://www.google.com/reader/shared/areyoulookon的feed中,有<link rel=”hub” href=”http://pubsubhubbub.appspot.com/”/>,这就表示,这个feed由pubsubhubbub.appspot.com这个hub进行托管,也就是说,你需要向pubsubhubbub.appspot.com请求获得这个feed的实时更新情况。
下面详细讲讲如何订阅(还是以那个greader share的feed做例子):
1.发送订阅请求
pubsubhubbub.appspot.com是pubsubhubbub始作俑者,两位Google工程师之一的某人完成,由于他是Google App Engine团队的,所以利用GAE开发了一个hub,为大家也为Google提供了方便。订阅更新的地址是:
http://pubsubhubbub.appspot.com/subscribe
那么,要订阅上面那个feed,需要向这个地址Post哪些参数呢?主要是下面四个参数(以及应该填的值):
– hub.mode = subscribe|unsubscribe (是订阅还是取消订阅)
– hub.verify = sync
– hub.callback = http://domain.tld/your/callback (callback就是说,你用来接收这个hub传来的信息的网址,这个很重要,就是你处理更新的应用的地址)
2.验证你的订阅
pubsubhubbub协议规定,并不是所有发往hub的订阅请求都能通过,当你订阅了一个topic后,hub服务器会给你的callback网址发来一个HTTP GET请求,获得正确的响应后,才能订阅成功。(这是为了防止你用错误的callback地址,让hub服务器进行DDoS攻击)。
当我们按照1里面的步骤,发送了订阅请求(HTTP POST)后,hub服务器会给callback网站发来一个HTTP GET请求,参数如下:
– hub.mode = subscribe|unsubscribe
– hub.topic = http://www.google.com/reader/public/atom/user/16797483721654978846/state/com.google/broadcast
– hub.challenge = a-random-string (这个很重要,就是验证的字符串,你的callback网址需要记录它)
如果你的callback网址接到这个请求后,能返回输出hub.challenge的值的话,并且是一个成功的响应(status code是200),那么订阅就成功了!
2.处理更新内容
订阅成功以后,如果订阅源发生了更新,按照我们上次PubSubHubbub工作原理及使用入门介绍的,hub服务器将会获得通知,然后立刻发送HTTP POST请求到我们订阅的callback网址,请求的内容是xml格式的(基本类似于标准的atom格式),里面包含了更新的内容,下面就是你使用各种方式,处理这段xml字符串,为你所用了。
3.有用的链接和代码
那篇让我看懂如何使用PubSubHubbub的SuperFeedr的文章:Getting Started withPubSubHubbub
订阅Feed的WEB接口:http://pubsubhubbub.appspot.com/subscribe
PubSubHubbub主页:http://pubsubhubbub.googlecode.com/
如何更好地开发PubSubHubub:http://code.google.com/p/pubsubhubbub/wiki/BestPractices
Google App Engine的示例代码:http://code.google.com/p/pubsubhubbub/source/browse/#svn/trunk/subscriber (重要!这个基本是1/3的reader2twitter代码了)
虚拟 Hub 分享:HUB1
用户名 :sx1
密码 :sx1
虚拟 HUB IP 地址 :sx1club.vicp.net 端口 :443 ( 但比较不稳定 , 推荐机在用 HUB2, 不定时在线 )
( 近期将继续开通 sx1club1.vicp.net 和 sx1club2.vicp.net 看大家反应如何 )
HUB2
用户名: pub
密码: pub
虚拟 hub IP 地址: bunnygao.vicp.net端口 :443 ( 比较稳定 , 网上的朋友提供的 .24 小时在线 .)
---------------------------------------------------------------------------------------------------------------------------------------------------
优点 . 使 GPRS 网速更快 , 更稳定 , 不断流 . 不用设置代理 .
准备工作 :
软件 :1.SoftEther 汉化版 V1.0 ( 这会再上传一个来 )
http://dg.download.21cn.com/file ... A-SoftEther-CHX.exe
2.GPRS 稳定器
硬件 : 电脑 +SX1
要求 : 开通 GPRS, 能用红外或蓝牙与电脑连接通信 .
---------------------------------------------------------------------------------------------------------------------------------------------------
第一步 : 下载安装 SoftEther 汉化版 V1.0
第二步 : 设置 SoftEther 汉化版 V1.0
第三步 : 连接 (OK 成功 )
第四步 :GPRS 成功连接后开启 GPRS 稳定器 .bat ( 什么原理 ? 大家自己看吧 . 可能有些地区的 CMWAP 网关不同 , 改过来就行 .)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)