博客中的Ping分析
在博客中发表文章时,利用XML-RPC将博客中的更新信息通过Ping的方式通知各Feed服务商、搜索引擎,以便在最短的时间内让Feed更新和搜索引擎收录。但国内的有些Ping API却无法正常运行,下面是对国内一些常用的Ping API的测试结果。
http://blogsearch.google.com/ping/RPC2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?xml version="1.0"?> <methodResponse> <params> <param> <value> <struct> <member> <name>flerror</name> <value><boolean>0</boolean></value> </member> <member> <name>message</name> <value>Thanks for the ping.</value> </member> </struct> </value> </param> </params> </methodResponse> |
这是谷歌“博客搜索”的Ping API地址,响应速度非常快 ,而且也很稳定。Ping发送后新发表的文章在10分钟内就被收录!
http://api.my.yahoo.com/RPC2
网上的Ping列表中都包括雅虎的这个API,但测试时一直提示响应解析失败,直接访问也无法访问,可能地址已经更改。
http://www.feedsky.com/api/RPC2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?xml version="1.0"?> <methodResponse> <params> <param> <value> <struct> <member> <name>flerror</name> <value><boolean>0</boolean></value> </member> <member> <name>message</name> <value>Thanks for the ping.</value> </member> </struct> </value> </param> </params> </methodResponse> |
这是飞递(FeedSky)的Ping Server API地址。返回结果正确,但是不太稳定。
http://blog.youdao.com/ping/RPC2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?xml version="1.0"?> <methodResponse xmlns:ex="http://ws.apache.org/xmlrpc/namespaces/extensions"> <params> <param> <value> <struct> <member> <name>flerror</name> <value><boolean>0</boolean></value> </member> <member> <name>message</name> <value>Thanks for the ping.</value> </member> </struct> </value> </param> </params> </methodResponse> |
这是有道的Ping地址,返回正确,但要注意360000毫秒内只能提交一次,还要注意,有道Ping的调用方法名是:weblogUpdates.extendedPing,写成weblogUpdates.Ping会出错,还有一点要注意,发送的数据的URL参数中必需包含4个参数,即:1.网站名称;2.网站地址;3.文章地址;4.feed地址,否则就会出错。
http://www.xianguo.com/xmlrpc/ping.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?xml version="1.0"?> <methodResponse> <params> <param> <value> <struct> <member> <name>flerror</name> <value><int>0</int></value> </member> <member> <name>message</name> <value><string>Thanks for the ping.</string></value> </member> </struct> </value> </param> </params> </methodResponse> |
这是鲜果的Ping地址,返回正确!
http://blog.iask.com/RPC2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?xml version="1.0"?> <methodResponse> <params> <param> <value> <struct> <member> <name>flerror</name> <value><boolean>1</boolean></value> </member> <member> <name>message</name> <value>sorry,failing.</value> </member> </struct> </value> </param> </params> </methodResponse> |
这是新浪的Ping地址,当请求多个分类标签时返回错误:sorry,failing,但如果提交的的参数中,网址的参数只有一个时,返回正确。
从上面的测试结果可以看出,可用的Ping地址有:
http://blogsearch.google.com/ping/RPC2
http://www.feedsky.com/api/RPC2
http://blog.youdao.com/ping/RPC2
http://www.xianguo.com/xmlrpc/ping.php
http://blog.iask.com/RPC2
其中FeedSky返回的信息不明确 ,所以不知道可不可用。而新浪可接收的Ping数据中的网址不可以超过1个,有道接收的Ping信息不可以少于3个网址,并且调用方法名必须是:weblogUpdates.extendedPing(除FeedSky以外都可以用这个调用方法名),所以在提交Ping数据的时候要根据不同的情况做不同的判断,这样才能保证发送的Ping都可以正常运行!
今天发现百度也可以通过Ping服务来通知博客更新了,具体的参数及方法可以在百度搜索的帮助文档中查找。