原创 2021-06-04 11:39:17

简介


最近在开发自己的博客,想着可以让各大搜索引擎能够尽快收录我的网站。在各大搜索引擎的站长平台都绑定了我的网站。网站验证过后发现百度、神马两个平台提供了新链接推动到搜索引擎的接口。在这里记录一下。

 

封装


我项目为springboot 的。发现无论是百度还是神马发现只有推送的链接是不一样的。所以我在项目中把百度和神马的链接写到了配置文件中。对推送链接到搜索引擎的post方法尽心了封装。

配置文件

searchEngine:
baidu: http://data.zz.baidu.com/urls?site=替换成你的网站域名&token=替换成你的tocken
shenma: https://data.zhanzhang.sm.cn/push?site=替换成你域名&user_name=替换成你的用户名&resource_name=mip_add&token=替换成你的token

封装链接如下

 

package top.jhone.blog.utils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

/**
* 处理搜索引擎自动推送
* @author zzy
* @date 2021/4/20 20:26
*/
public class EnginePushUtils {
   private static Logger logger = LoggerFactory.getLogger(EnginePushUtils.class);

   public static String enginePush(String url,String param){
       if (null == url || StringUtils.isBlank(param)) {
           return null;
       }
       String host = "";
       try {
           URL hosturl = new URL(url);
           host = hosturl.getHost();
       } catch (MalformedURLException e) {
           logger.error("发送post请求出现异常,异常原因为:{}",e.getMessage());
           e.printStackTrace();
       }
       String result = "";
       PrintWriter out = null;
       BufferedReader in = null;
       try {
           //建立URL之间的连接
           URLConnection conn = new URL(url).openConnection();
           //设置通用的请求属性
           conn.setRequestProperty("Host", host);
           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(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) {
           logger.error("发送post请求出现异常,异常原因为:{}",e.getMessage());
           e.printStackTrace();
       } finally {
           try {
               if (out != null) {
                   out.close();
               }
               if (in != null) {
                   in.close();
               }
           } catch (IOException ex) {
               ex.printStackTrace();
           }
       }
       return result;
   }
}


业务层代码

 

//baiduUrl shenmaUrl 都是在配置文件里读取的链接。链接获取方式在下面。
if(getEngineSwitch()){
               String param = domain + "/read/"+article.getId();
               logger.info("向搜索引擎推送的链接:{}",param);
               String baiduRes = EnginePushUtils.enginePush(baiduUrl,param);
               logger.info("百度推送数据结果:{}",baiduRes);
               String shenmeRes = EnginePushUtils.enginePush(shenmaUrl,param);
               logger.info("神马推送数据结果:{}",shenmeRes);
           }


百度


百度站长平台:https://ziyuan.baidu.com/
登录到百度站长平台。绑定网站。认证网站我就不说了。进入平台后依次点击搜索服务->资源提交->普通收录->api提交。可以看到API接口以及推送示例。


神马


神马站长平台 :https://zhanzhang.sm.cn/
同理登录站长平台。绑定网站。认证网站的过程就不说了。按照以下步骤可以获得推动到神马的接口。


注意事项


最好可以看看接口返回示例。看看是否吧自己网站的新建的url给推动到了两大平台。
 

 

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

延伸阅读
  1. seo优化之robots.txt 与 sitemap.xml
发表评论