`
liqita
  • 浏览: 290849 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java以post发送方式实现百度Sitemap实时推送代码分享

阅读更多

       怎么实现百度sitemap实时推送,首先,得拥有自己的网站,然后在百度站长上验证通过之后,才有资格推送百度sitemap。

 

       如何选择链接提交方式,当然是选择最快的推送方式,主动推送,最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。

 

       本人开发的网站用的是ssh框架,底层是java语言,所以我们选择post推送,然后我们看一下baidu给我们
提供的推送接口如下:

 

POST /urls?site=www.nbull.cn&token=nN8NWAEuHUtgABCh HTTP/1.1
User-Agent: curl/7.12.1 
Host: data.zz.baidu.com 
Content-Type: text/plain 
Content-Length: 83 

http://www.example.com/1.html
http://www.example.com/2.html

 

 

        好的,废话少说,进入我们主题,实现post推送代码如下:

 

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.nbull.cn&token=nN8NWAEuHUtgABCh";//网站的服务器连接
		String[] param = {
				"http://www.nbull.cn/stock/article.do?method=article_detail_show&article_id=95"//需要推送的网址
		};
		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方式提交数据
411  HTTP头中缺少Content-Length字段
413  推送的数据过大,超过了10MB的限制
422  HTTP头中Content-Length声明的长度和实际发送的数据长度不一致
500  站长平台服务器内部错误

 

 如果朋友有兴趣的话,可以参考下本人开发的网站,谈股论金_大大牛,网址为www.nbull.cn, 希望此次分享能帮助到有需要的人,谢谢大家!

6
1
分享到:
评论
6 楼 wahahachuang5 2017-09-12  
web实时推送技术使用越来越广泛,但是自己开发又太麻烦了,我觉得没有那个必要,GoEasy就挺不错的,服务器稳定,代码简洁易懂;官网: http://goeasy.io/
5 楼 fmpoffice 2016-07-28  
发来感谢!准备尝试!
https://m.yooshifu.com
4 楼 playboyhaolei 2016-07-28  
爱死博主了           
学习了  已经成功的推送了 http://www.iconthink.com
3 楼 playboyhaolei 2016-07-28  
爱死博主了           
学习了  已经成功的推送了 http://www.iconthink.com
2 楼 真三武侯 2016-07-12  
爱死博主了            
1 楼 确实比较男 2016-06-24  
+1  学习了  已经成功的推送了 http://xianshiyue.com

相关推荐

    百度POST实时推送V3.0

    百度POST实时推送V3.0工具,百度POST实时推送V3.0,百度POST实时推送V3.0

    百度POST实时推送工具V3.0.zip

    (本程序可以全自动化,如需挂在服务器上全自动提交,请勾选“自动获取URL并实时推送,然后点击开启推送”) 中国焊管设备网http://www.cnerw.com 中国梨网http://www.pearw.com 河北金中电子商务有限公司...

    百度全自动推送文章收录PHP代码附带教程

    "百度全自动推送文章收录PHP代码附带教程"是一个帮助网站管理员实现快速文章收录的解决方案,通过编写PHP代码实现与百度搜索引擎的自动交互。 首先,我们要理解什么是“百度自动推送”。这是一种技术手段,允许网站...

    Java向苹果服务器推送消息(Java实现HTTP/2协议发送APNS)

    Java向苹果服务器推送消息是iOS应用开发者经常遇到的需求,用于实时通知用户新的信息或系统状态。APNs(Apple Push Notification service)是苹果公司提供的推送服务,允许开发者将消息推送到用户的iOS设备上。本...

    百度POST 实时推送版本号V3.0.rar

    1. **API文档**:详细说明POST推送接口的使用方法、参数设置以及返回值解释,帮助开发者理解和实现推送功能。 2. **示例代码**:提供了不同编程语言(如Python、Java、PHP等)的示例代码,帮助开发者快速接入推送...

    java实现企业微信消息推送

    在企业微信API开发中,Java作为一种广泛使用的编程语言,提供了丰富的库和工具来实现与企业微信接口的交互,实现消息推送功能。以下是一份详细的Java实现企业微信消息推送的知识点详解: 1. **企业微信API概述** ...

    百度实时推送api接口应用示例

    代码示例中,函数`sitemap_ping_baidu`接收一个URL数组作为参数,通过socket连接向百度推送新发布的文章。 该PHP代码段实现了以下功能: 1. 通过`fsockopen`函数建立与百度推送地址的socket连接。 2. 构建符合百度...

    提取 sitemap 中的链接,利用百度、必应、谷歌 API 自动 推送至搜索引擎,提升网站收录速度

    本文将详细介绍如何通过提取 sitemap 中的链接并利用百度、必应和谷歌的 API 自动推送至这些搜索引擎,从而加速网站收录。 首先,我们需要了解什么是 sitemap。sitemap 是一种 XML 文件,它列出了网站的所有重要...

    java后台实现 get post 提交.zip

    本资料"java后台实现 get post 提交.zip"可能包含了实现这些功能的代码示例和详细解释。 1. GET请求: GET请求主要用于从服务器获取资源,它将参数附加到URL后面。在Java中,我们通常使用`java.net.URL`和`java.net...

    Kettle实现使用Http post控件实现钉钉机器人消息推送测试源代码

    实现一个通用的kettle消息推送,于是想到通过钉钉机器人推送消息到钉钉群组,这样就可以方便配置封装成通用的消息推送的映射子转换,实现后面作业或转换的消息提醒或者异常告警通知。已完成测试源代码分析

    织梦sitemap地图实时推送给百度的教程

    百度sitemap地图实时推送功能是指将网站的更新内容及时告知百度搜索引擎,以便搜索引擎能够更快地发现新内容并进行索引。这一点对于网站内容更新频繁且需要快速被搜索引擎收录的网站来说非常重要。 在织梦系统中推...

    java代码发送JSON格式的httpPOST请求

    ### Java代码发送JSON格式的HTTP POST请求:深入解析与实现 在现代的Web开发中,JSON(JavaScript Object Notation)已成为数据交换的标准格式之一,因其轻量级、易读性及跨平台兼容性而受到广泛青睐。对于Java...

    java实现邮件发送(三种发送方式都有)

    在这个主题下,我们将探讨三种Java实现邮件发送的方式,以及如何通过提供的代码和参考资料进行实践。 首先,让我们了解一下基本概念。邮件发送主要涉及到SMTP(Simple Mail Transfer Protocol)和POP3(Post Office...

    最新java整合APNS推送服务

    Java整合APNS推送服务是将Java应用程序与Apple Push Notification Service(APNS)相结合,以便能够向iOS和tvOS设备发送即时消息。APNS是苹果公司提供的一个服务,它允许开发者在用户不打开应用的情况下,向他们的...

    c#实现推送通过的是百度云

    本项目以"C#实现推送通过的是百度云"为主题,这意味着我们将探讨如何利用C#编程语言与百度云推送服务进行集成,实现消息的发送和接收。 首先,我们要了解百度云推送(Baidu Cloud Push)是百度提供的一种云服务,它...

    java-http方式封装极光推送,体积小,可扩展性强,代码简洁

    Java HTTP方式封装极光推送是一种轻量级的实现方式,它摒弃了传统的SDK集成,而是通过HTTP协议直接与极光推送服务器进行交互。这种方式有以下几个显著的优点: 1. **体积小**:不使用极光推送的SDK,避免引入额外的...

    iphone 推送通知 服务器端java 实现

    5. **发送推送**:使用HttpURLConnection的POST方法,将构建好的JSON消息和设备令牌发送到APNs服务器。别忘了设置请求头,如Content-Type和Content-Length。 6. **处理响应**:APNs会返回一个二进制响应,包含错误...

    Android推送 利用REST API实现从客户端推送(百度云推送)

    在Android应用开发中,实时的消息推送是不可或缺的功能,它能够为用户提供即时的信息更新,提高用户交互体验。本文将深入探讨如何利用REST API实现从客户端进行Android推送,特别关注百度云推送这一服务。首先,我们...

    java发送httpPost请求实现

    用java编写了http Post的请求代码,通过发送请求的 URL,获取远程资源的响应结果,入参为json字符串。使用到httpPost,CloseableHttpClient

Global site tag (gtag.js) - Google Analytics