Java 以 post 发送方式实现百度链接提交主动推送(实时)

avatar 2018年6月13日01:20:08 评论 298 views

首先到百度站长平台注册一个账号,然后添加站点,点击左侧“链接提交”按钮,可以获得如下推送接口。

 

 

 

 

下面通过 Java 代码简单介绍 Post 方式的提交

  1. package com.liuyanzhao.forum.util;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.io.PrintWriter;
  6. import java.net.URL;
  7. import java.net.URLConnection;
  8. /**
  9.  * @author 言曌
  10.  * @date 2018/6/13 上午1:04
  11.  */
  12. public class BaiduPost {
  13.     /**
  14.      * 百度链接实时推送
  15.      *
  16.      * @param PostUrl
  17.      * @param Parameters
  18.      * @return
  19.      */
  20.     public static String Post(String PostUrl, String[] Parameters) {
  21.         if (null == PostUrl || null == Parameters || Parameters.length == 0) {
  22.             return null;
  23.         }
  24.         String result = "";
  25.         PrintWriter out = null;
  26.         BufferedReader in = null;
  27.         try {
  28.             //建立URL之间的连接
  29.             URLConnection conn = new URL(PostUrl).openConnection();
  30.             //设置通用的请求属性
  31.             conn.setRequestProperty("Host""data.zz.baidu.com");
  32.             conn.setRequestProperty("User-Agent""curl/7.12.1");
  33.             conn.setRequestProperty("Content-Length""83");
  34.             conn.setRequestProperty("Content-Type""text/plain");
  35.             //发送POST请求必须设置如下两行
  36.             conn.setDoInput(true);
  37.             conn.setDoOutput(true);
  38.             //获取conn对应的输出流
  39.             out = new PrintWriter(conn.getOutputStream());
  40.             //发送请求参数
  41.             String param = "";
  42.             for (String s : Parameters) {
  43.                 param += s + "\n";
  44.             }
  45.             out.print(param.trim());
  46.             //进行输出流的缓冲
  47.             out.flush();
  48.             //通过BufferedReader输入流来读取Url的响应
  49.             in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  50.             String line;
  51.             while ((line = in.readLine()) != null) {
  52.                 result += line;
  53.             }
  54.         } catch (Exception e) {
  55.             System.out.println("发送post请求出现异常!" + e);
  56.             e.printStackTrace();
  57.         } finally {
  58.             try {
  59.                 if (out != null) {
  60.                     out.close();
  61.                 }
  62.                 if (in != null) {
  63.                     in.close();
  64.                 }
  65.             } catch (IOException ex) {
  66.                 ex.printStackTrace();
  67.             }
  68.         }
  69.         return result;
  70.     }
  71.     /**
  72.      * @param args
  73.      */
  74.     public static void main(String[] args) {
  75.         //网站的服务器连接
  76.         String url = "http://data.zz.baidu.com/urls?site=xxxxxxxx&token=xxxxxxxxx";
  77.         String[] param = {
  78.                 //需要推送的网址
  79.                 "https://liuyanzhao.com/message.html",
  80.                 "https://liuyanzhao.com/article-file.html",
  81.                 "https://liuyanzhao.com/sitemap.html"
  82.         };
  83.         //执行推送方法
  84.         String json = Post(url, param);
  85.         //打印推送结果
  86.         System.out.println("结果是" + json);
  87.     }
  88. }

运行结果如下

 

 

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: