什么是API推送
最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
API推送的优点
如何使用API推送
推送接口及参数说明:
接口调用地址:http://data.zz.baidu.com/urls?site=https://dorm.cyouagain.cn&token=YYYYYYYYY
参数名称 | 是否必选 | 参数类型 | 说明 |
---|---|---|---|
site | 是 | string | 在搜索资源平台验证的站点,比如www.example.com |
token | 是 | string | 在搜索资源平台申请的推送用的准入密钥 |
百度给出API推送的几种示例,分别为:curl推送、post推送、php推送、ruby推送。具体推送示例请看百度搜索资源平台。
接下来主要说下POST推送和具体实例。
post推送示例:
POST /urls?site=https://dorm.cyouagain.cn&token=TnYdbTSKloOytG2sHTTP/1.1User-Agent: curl/7.12.1Host: data.zz.baidu.comContent-Type: text/plainContent-Length: 83http://www.example.com/1.htmlhttp://www.example.com/2.html
推送反馈:
推送成功状态码为200,可能返回以下字段:
参数名称 | 是否必选 | 参数类型 | 说明 |
---|---|---|---|
site | 是 | string | 在搜索资源平台验证的站点,比如www.example.com |
success | 是 | int | 成功推送的url条数 |
remain | 是 | int | 当天剩余的可推送url条数 |
not_same_site | 否 | array | 由于不是本站url而未处理的url列表 |
not_valid | 否 | array | 不合法的url列表 |
成功返回示例:
{ "remain":99998, "success":2, "not_same_site":[], "not_valid":[]}
推送失败状态码为4xx,返回字段有:
参数名称 | 是否必选 | 参数类型 | 说明 |
---|---|---|---|
error | 是 | int | 错误码,与状态码相同 |
message | 是 | string | 错误描述 |
失败返回示例:
{ "error":401, "message":"token is not valid"}
注:以上均来自于百度搜索资源平台
根据上面的说明,我们使用Java语言完成网站链接资源主动提交,推送方式选用POST。主要分为以下几个步骤:
获取site和token信息: 获取信息请看另一看文章《百度网页收录API提交助手使用说明》,这里就不再重复了。注:具体获取教程在文章第二部分
整理需要提交的资源链接: 将你要提交的链接整理在一起,方便批量提交。
编写代码: 这部分就是本教程的核心了。具体代码如下:
package baiduUrlSubmit;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;public class Test { private static final String URL="http://data.zz.baidu.com/urls"; public static void main(String []args) { String url="http://data.zz.baidu.com/urls?site=https://cyouagain.cn&token=TnYdbTSKloOytG2s"; String site="https://cyouagain.cn"; //改为自己站点的site值 String token=""; //改为自己站点的token //需要提交的资源链接 String []urlsArr= { "https://cyouagain.cn/posts/3700.html", "https://cyouagain.cn/posts/17293.html", "https://cyouagain.cn/posts/31763.html", "https://cyouagain.cn/posts/51772.html", "https://cyouagain.cn/posts/23110.html", "https://cyouagain.cn/posts/31183.html", "https://cyouagain.cn/posts/51512.html", "https://cyouagain.cn/posts/5070.html", "https://cyouagain.cn/posts/65258.html", "https://cyouagain.cn/posts/21025.html", "https://cyouagain.cn/posts/24621.html", "https://cyouagain.cn/posts/22575.html", "https://cyouagain.cn/posts/5780.html", "https://cyouagain.cn/posts/46042.html", }; //将urlsArr数组转化为字符串形式 String urlsStr=urlsArrToString(urlsArr); //打印结果 System.out.println(Post(site,token,urlsStr)); } public static String Post(String site,String token,String urlsStr) { String result=""; PrintWriter out=null; BufferedReader in=null; try { //建立URL之间的连接 URLConnection conn=new URL(URL+"?site="+site+"&token="+token).openConnection(); //设置通用的请求属性 conn.setRequestProperty("Host","data.zz.baidu.com"); conn.setRequestProperty("User-Agent", "curl/7.12.1"); conn.setRequestProperty("Content-Length", "83"); conn.setRequestProperty("Content-Type", "text/plain"); //发送POST请求必须设置如下两行 conn.setDoInput(true); conn.setDoOutput(true); //获取conn对应的输出流 out=new PrintWriter(conn.getOutputStream()); out.print(urlsStr); //进行输出流的缓冲 out.flush(); //通过BufferedReader输入流来读取Url的响应 in=new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while((line=in.readLine())!= null){ result += line; } } catch (Exception e) { System.out.println("发送post请求出现异常!"+e); } finally{ try{ if(out != null){ out.close(); } if(in!= null){ in.close(); } }catch(IOException ex){ ex.printStackTrace(); } } return result; } //Array转String public static String urlsArrToString(String []urlsArr) { String tempResult=""; for(int i=0;i<urlsArr.length;i++) { if(i==urlsArr.length-1) { tempResult+=urlsArr[i].trim(); }else { tempResult+=(urlsArr[i].trim()+"\n"); } } return tempResult; }}
查看结果: 运行上面的程序后,看到结果如下:
上面的程序已经实现了网站资源的主动提交,但是也存在一些问题。如:
应以上使用缺陷,一款在线提交网站资源小程序诞生了。它能让网站管理人员转心做SEO优化,不再受运行环境、使用平台等因素的干扰。除此以外,小程序依附于微信,能在多平台使用,操作简单,无需安装。
百度API网站资源提交小程序体验地址:
百度API网站资源提交小程序体使用说明: 网站、网页资源快速收录百度API提交助手。
感谢你使用网站资源提交助手,此小程序仅作为学习参考,获取源码请在公众号【C you again】后台私信。欢迎各大网站转发,但请注明原地址。