把博客内容更新快速通知给百度搜索引擎 Java实现自动提交

SEO的终结目标是让搜索引擎更快的收录最新发布的文章,传统的模式下都是周期性的等待蜘蛛来爬,抓取更新内容。现在搜索引擎提供了一些接口,可以主动提交最近更新的文章,告诉搜索引擎更新的内容,当然不保证马上会被收录。不过搜索引擎是老大,他说可以这么玩,我们也就跟着这样玩。下面看看我们如何实现百度的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请求举例:

<?xml version="1.0" encoding="UTF-8"?> <methodCall> <methodName>weblogUpdates.extendedPing</methodName> <params> <param> <value><string>程序猿80吧</string></value> </param> <param> <value><string>http://www.cxy808.com/</string></value> </param> <param> <value><string>http://www.cxy808.com/english/20140617/974.html</string></value> </param> <param> <value><string>http://www.cxy808.com/rss.php</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。

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

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

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

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

Java客户端的简单实现,实例方法很简单,需要要用到的同学可以自行优化集成到已有的系统,直接上代码:

package com.cxy808.example.xmlrpc; import java.net.URL; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; /**  * 本实例简单演示了如何使用java客户端推送最新博客文章到百度Ping接口  * 大家可以根据这个例子,在自己的系统里增强实现自动推送  * @author cxy808.com  */ public class XMLRPCClient { public static void main(String[] args) { try { XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); //百度ping服务器地址 config.setServerURL(new URL("http://ping.baidu.com/ping/RPC2")); XmlRpcClient client = new XmlRpcClient(); client.setConfig(config); Object[] params = new Object[] { "程序猿80吧", //博客名称 "http://www.cxy808.com/",//博客首页地址 "http://www.cxy808.com/english/20140617/974.html",//最新发的文章地址 "http://www.cxy808.com/rss.php"};//博客rss地址 //调用方法名: weblogUpdates.extendedPing Object result = (Object) client.execute("weblogUpdates.extendedPing", params); if(result.toString().equals("0")){ System.out.println("推送成功:)"); }else{ System.out.println("推送失败:("); } } catch (Exception e) { e.printStackTrace(); } } }
例子用到的依赖包可以从百度网盘下载: http://pan.baidu.com/s/1gdf3XIV

转载于:https://my.oschina.net/u/2006682/blog/311787

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值