百度的资源推送JAVA方法


/**
 * 百度链接实时推送
 *
 * @param PostUrl
 * @param Parameters
 * @return
 */
public static String Post(String PostUrl, List<String> Parameters) {
    if (null == PostUrl || null == Parameters || Parameters.size() == 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) {
        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;
}

2 条评论

当前评论已经关闭


登录用户头像