怎么实现百度sitemap实时推送(一)_废话少说
优采云 发布时间: 2021-05-04 18:13怎么实现百度sitemap实时推送(一)_废话少说
如何实现对百度站点地图的实时推送,首先,您必须拥有自己的网站,然后在百度网站站长上对其进行验证后,您就有资格推送百度站点地图。
如何选择链接提交方法,当然是选择最快的推送方法,活动推送和最快的提交方法。建议您通过此方法立即将网站上产生的新链接推送到百度,以确保新链接可以及时成为百度收录。
我开发的网站使用ssh框架,底层是Java语言,因此我们选择了post push,然后让我们来看一下百度
提供的推送界面如下:
后推示例
POST / urls?site =&token = JNnS1lGKT9N2ertK HTTP / 1. 1
User-Agent:curl / 7. 1 2. 1
主机:
内容类型:文本/纯文本
内容长度:83
好的,别胡说八道,输入我们的主题,并按如下所示实现后推代码
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import com.stock.web.symbol.tools.JsonUrl;
public class TestTemp {
/**
* @param args
*/
public static void main(String[] args) {
String url = "http://data.zz.baidu.com/urls?site=www.919zzz.com&token=JNnS1lGKT9N2ertK";//网站的服务器连接
String[] param = {
"http://www.919zzz.com/detail/487aba6fe48d4a86b2f74d671293a65c.html"
"http://www.919zzz.com/detail/de426adc1ee14d638bfab7faad923cec.html"
"http://www.919zzz.com/detail/aed9a47637804da4bd34208291d699cc.html"
"http://www.919zzz.com/detail/d996825aa0404aa5b70369d1695f4b51.html"//需要推送的网址
};
String json = Post(url, param);//执行推送方法
System.out.println("结果是"+json); //打印推送结果
}
/**
* 百度链接实时推送
* @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;
}
}
然后,执行结果如下:结果是{“ remain”:48,“ success”:1}已成功推送!这意味着还有48项需要推送,而这次已成功推送了一项。
此外,为调试目的,附加可能的异常情况的返回码信息:
200没有使用错误,需要进一步观察返回的内容是否正确
未提供400个必需参数
405不支持的请求方法,我们仅支持POST方法来提交数据