熊掌号的链接推送是必不可少的,一可以用来提高熊掌号的文章质量,二来可以加速百度的收录。
今天我完成了通过Java来实现熊掌号的天级与周级的链接推送,下面,我将我写的关于post推送的方法发一下:/**
* 百度链接实时推送
* @param PostUrl
* @param Parameters
* @return
*/
public static String Post(String PostUrl,String[] Parameters){
if(null == PostUrl || null == Parameters || Parameters.length ==0){
return null;
}
String result="";
PrintWriter out=null;
BufferedReader in=null;
try {
//建立URL之间的连接
URLConnection conn=new URL(PostUrl).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());
//发送请求参数
String param = "";
for(String s : Parameters){
param += s+"\n";
}
out.print(param.trim());
//进行输出流的缓冲
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);
e.printStackTrace();
} finally{
try{
if(out != null){
out.close();
}
if(in!= null){
in.close();
}
}catch(IOException ex){
ex.printStackTrace();
}
}
return result;
}
然后,我发一下我写的关于如何运用这个方法的代码:String url= " http://data.zz.baidu.com/urls?appid=16004&token=AgQ&type=realtime";
String[] param = {
"https://inx.fun/p/"+articleid+".html"
};
String json = Post(url, param);//执行推送方法
System.out.println("结果是"+json); //打印推送结果
JSONObject json_test = JSONObject.parseObject(json);
//如果当天熊掌号推送为0
if(json_test.get("remain_realtime").equals('0')){
url = "http://data.zz.baidu.com/urls?appid=14&token=Ag&type=batch";//网站的服务器连接
json = Post(url, param);
System.out.println("结果是"+json); //打印推送结果
}
string url为熊掌号的推送接口,建议复制熊掌号API中属于你自己的独特接口。
这个功能的逻辑就是当剩余天级推送为0时,然后就会进行周级推送。
建议url仔细检查一下,把空格去掉,不然会报400错误哟!