陈建华的博客
专注web开发
百度ping服务详谈
2014-08-05 14:53:43   阅读945次

什么是Ping服务

ping是基于XML_RPC标准协议的更新通告服务,用于博客把内容更新快速通知给百度,以便百度及时进行抓取和更新。

Ping服务使用方法

你可以采取手动通知和自动通知两种方式使用ping服务:

手动ping:访问http://ping.baidu.com/ping.html页面,在输入框中输入博客地址或者feed地址,点击“提交博客”按钮即可。
自动ping:如果您的博客程序支持自动ping功能,您只需把百度的Ping服务地址配置到你的Blog发布后台或者客户端程序中,就可以实现自动通知的功能。百度ping服务的地址为:http://ping.baidu.com/ping/RPC2

自动Ping的XML_RPC

发送给百度Ping服务的XML-RPC客户请求需要包含如下元素:

RPC端点: http://ping.baidu.com/ping/RPC2
调用方法名: weblogUpdates.extendedPing
参数: (应按照如下所列的相同顺序传送)
博客名称
博客首页地址
新发文章地址
博客rss地址

Ping请求包的例子

weblogUpdates.extendedPing xml-rpc请求举例:

POST /ping/RPC2 HTTP/1.0
User-Agent: request
Host: ping.baidu.com
Content-Type: text/xml
Content-Length: 511

<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
   <methodName>weblogUpdates.extendedPing</methodName>
   <params>
       <param>
           <value><string>百度的空间</string></value>
       </param>
       <param>
           <value><string>http://hi.baidu.com/baidu/</string></value>
       </param>
       <param>
           <value><string>http://baidu.com/blog/example.html</string></value>
       </param>
       <param>
           <value><string>http://hi.baidu.com/baidu/rss</string></value>
       </param>
   </params>
</methodCall>

ping-service响应举例

ping-service对非POST方法请求返回HTTP_METHOD_NOT_ALLOWED(405)错误代码

对超大错误包返回HTTP_REQUEST_ENTITY_TOO_LARGE(413)错误代码
对非“text/xml”请求包返回HTTP_UNSUPPORTED_MEDIA_TYPE(415)错误代码
其他情况返回HTTP_OK(200)代码
xml-rpc响应http包体为一个xml文档,含有一个int值,0表示推送成功,其他值表示推送失败,目前只有0和1。

推送成功时的服务器响应包为:

HTTP/1.1 200 OK

Date: Mon, 11 May 2009 11:54:53 GMT
Content-Length: 156
Connection: close
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
   <params>
       <param>
           <value>
               <int>0</int>
           </value>
       </param>
   </params>
</methodResponse>

推送失败时的服务器响应包为:

HTTP/1.1 200 OK

Date: Mon, 11 May 2009 11:54:53 GMT
Content-Length: 156
Connection: close
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
   <params>
       <param>
           <value>
               <int>1</int>
           </value>
       </param>
   </params>
</methodResponse>




-----------------------------------------------------
转载请注明来源此处
原地址:#

-----网友评论----
暂无评论
-----发表评论----
微网聚博客乐园 ©2014 blog.mn886.net 鲁ICP备14012923号   网站导航