zoukankan      html  css  js  c++  java
  • http 请求类

    package com.wenwo.platform.utils;
    
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class HttpClient {
        
        private static final Logger log = LoggerFactory.getLogger(HttpClient.class);
    
        private static HttpURLConnection conn = null;
        
         /** 
         * 向指定URL发送GET方法的请求 
         * @param url  发送请求的URL 
         * @param param  请求参数,请求参数应该是name1=value1&name2=value2的形式 
         * @return URL所代表远程资源的响应 
         */  
      
        public static String sendGet(String url) {  
            String result = "";  
            BufferedReader in = null;  
            try {  
                URL realUrl = new URL(url);  
                // 打开和URL之间的连接  
                URLConnection conn = realUrl.openConnection();  
                // 设置通用的请求属性  
                conn.setRequestProperty("accept", "*/*");  
                conn.setRequestProperty("connection", "Keep-Alive");  
                conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");  
                // 建立实际的连接  
                conn.connect();  
                // 获取所有响应头字段  
                Map<String, List<String>> map = conn.getHeaderFields();  
                // 定义BufferedReader输入流来读取URL的响应  
                in = new BufferedReader(new InputStreamReader(conn.getInputStream()));  
                String line;  
                while ((line = in.readLine()) != null) {  
                    result += "
    " + line;  
                }  
            } catch (Exception e) {  
                log.error("HttpClient snedGet url:"+url+" error ->", e);
            }  
            // 使用finally块来关闭输入流  
            finally {  
                try {  
                    if (in != null) {  
                        in.close();  
                    }  
                } catch (IOException ex) {  
                    ex.printStackTrace();  
                }  
            }  
            return result;  
        }  
        
        
        /** 
         * 向指定URL发送GET方法的请求 
         * @param url  发送请求的URL 
         * @param param  请求参数,请求参数应该是name1=value1&name2=value2的形式 
         * @return URL所代表远程资源的响应 
         */  
      
        public static String sendGet(String url,Map<String, Object> headerMap) {  
            String result = "";  
            BufferedReader in = null;  
            try {  
                URL realUrl = new URL(url);  
                // 打开和URL之间的连接  
                URLConnection conn = realUrl.openConnection();  
                // 设置通用的请求属性  
    //            conn.setRequestProperty("accept", "*/*");  
    //            conn.setRequestProperty("connection", "Keep-Alive");  
    //            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); 
                
                if(headerMap != null) {
                    Iterator<Map.Entry<String, Object>> it = headerMap.entrySet().iterator();
                    while (it.hasNext()) {
                        Map.Entry<String, Object> element = (Map.Entry<String, Object>) it
                                .next();
                        conn.setRequestProperty(element.getKey(), element.getValue().toString());  
                    }
                }
                
                // 建立实际的连接  
                conn.connect();  
                // 获取所有响应头字段  
                Map<String, List<String>> map = conn.getHeaderFields();  
                // 定义BufferedReader输入流来读取URL的响应  
                in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));  
                String line;  
                while ((line = in.readLine()) != null) {  
                    result += "
    " + line;  
                }  
            } catch (Exception e) {  
                log.error("HttpClient snedGet url:"+url+" error ->", e);
            }  
            // 使用finally块来关闭输入流  
            finally {  
                try {  
                    if (in != null) {  
                        in.close();  
                    }  
                } catch (IOException ex) {  
                    ex.printStackTrace();  
                }  
            }  
            return result;  
        }  
        
        
        public static String get(String urlAddr, Map<String, Object> paramMap) throws Exception {
            String content = "";
            StringBuffer params = new StringBuffer();
            if(paramMap != null) {
                Iterator<Map.Entry<String, Object>> it = paramMap.entrySet().iterator();
                while (it.hasNext()) {
                    Map.Entry<String, Object> element = (Map.Entry<String, Object>) it
                            .next();
                    params.append((String) element.getKey());
                    params.append("=");
                    params.append(element.getValue());
                    params.append("&");
                }
            }
    
            if (params.length() > 0) {
                params.deleteCharAt(params.length() - 1);
            }
            BufferedReader br = null;
            try {
                URL url = new URL(urlAddr); //new URL(urlAddr + "?" + params.toString());
                if(params.length()>0){
                    url = new URL(urlAddr + "?" + params.toString());
                }
                
                conn = ((HttpURLConnection) url.openConnection());
                conn.setConnectTimeout(3000);
                conn.setReadTimeout(3000); 
                conn.setDoOutput(false);
                conn.setRequestMethod("GET");
                conn.setUseCaches(false);
                conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
                conn.setRequestProperty("Content-Length", "0");
                conn.setDoInput(true);
                conn.connect();
    
                int code = conn.getResponseCode();
                if (code != 200) {
                    log.info("ERROR===" + code);
                } else {
                    InputStream in = conn.getInputStream();
                    System.out.println("in.available():"+in.available());
                    br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null){
                        content = content + line + "
    ";
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error("urlAddr:"+urlAddr+" get error.->" + params.toString(), e);
            } finally {
                if (br != null){
                    br.close();
                }
                if (conn!= null)conn.disconnect();
            }
            return content;
        }
        
        public static String post(String urlAddr, Map<String, Object> paramMap)
                throws Exception {
            String content = "";
            StringBuffer params = new StringBuffer();
            Iterator<Map.Entry<String, Object>> it = paramMap.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<String, Object> element = (Map.Entry<String, Object>) it
                        .next();
                params.append((String) element.getKey());
                params.append("=");
                params.append(element.getValue());
                params.append("&");
            }
    
            if (params.length() > 0) {
                params.deleteCharAt(params.length() - 1);
            }
            BufferedReader br = null;
            try {
                URL url = new URL(urlAddr);
                conn = ((HttpURLConnection) url.openConnection());
                conn.setConnectTimeout(3000);
                conn.setReadTimeout(3000); 
                conn.setDoOutput(true);
                conn.setRequestMethod("POST");
                conn.setUseCaches(false);
                conn.setRequestProperty("Content-Type",
                        "application/x-www-form-urlencoded");
                conn.setRequestProperty("Content-Length",
                        String.valueOf(params.length()));
                conn.setDoInput(true);
                conn.connect();
    
                OutputStreamWriter out = new OutputStreamWriter(
                        conn.getOutputStream(), "UTF-8");
                out.write(params.toString());
                out.flush();
                out.close();
    
                int code = conn.getResponseCode();
                if (code != 200) {
                    log.info("ERROR===" + code);
                    InputStream in = conn.getInputStream();
                    br = new BufferedReader(new InputStreamReader(
                            in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null)
                        content = content + line + "
    ";
                } else {
                    InputStream in = conn.getInputStream();
                    br = new BufferedReader(new InputStreamReader(
                            in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null)
                        content = content + line + "
    ";
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error("urlAddr:"+urlAddr+" post error. ->" + params.toString(), e);
            } finally {
                if (conn!=null)conn.disconnect();
                if (br != null){
                    br.close();
                }
            }
            return content;
        }
        
        
        
        
        public static String sendPost(String urlAddr, Map<String, Object> paramMap, Map<String, Object> headerMap)
                throws Exception {
            String content = "";
            HttpURLConnection conn = null;
            StringBuffer params = new StringBuffer();
            Iterator<Map.Entry<String, Object>> it = paramMap.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<String, Object> element = (Map.Entry<String, Object>) it
                        .next();
                params.append((String) element.getKey());
                params.append("=");
                params.append(element.getValue());
                params.append("&");
            }
    
            if (params.length() > 0) {
                params.deleteCharAt(params.length() - 1);
            }
            BufferedReader br = null;
            try {
                URL url = new URL(urlAddr);
                conn = ((HttpURLConnection) url.openConnection());
                conn.setConnectTimeout(3000);
                conn.setReadTimeout(3000); 
                conn.setDoOutput(true);
                conn.setRequestMethod("POST");
                conn.setUseCaches(false);
                conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
                conn.setRequestProperty("Content-Length",String.valueOf(params.length()));
                Iterator<Map.Entry<String, Object>> iter = headerMap.entrySet().iterator();
                while (iter.hasNext()) {
                    Map.Entry<String, Object> element = (Map.Entry<String, Object>) iter
                            .next();
                    conn.setRequestProperty(element.getKey(),
                            (String)element.getValue());
                }
                conn.setDoInput(true);
                conn.connect();
    
                OutputStreamWriter out = new OutputStreamWriter(
                        conn.getOutputStream(), "UTF-8");
                out.write(params.toString());
                out.flush();
                out.close();
                int code = conn.getResponseCode();
                
                if (code != 200) {
                    
                    log.info("ERROR===" + code);
                    
                    InputStream in = conn.getInputStream();
    
                    br = new BufferedReader(new InputStreamReader(
                            in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null){
                        content = content + line + "
    ";
                    }
                    
                } else {
                    InputStream in = conn.getInputStream();
                    br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null){
                        content = content + line + "
    ";
                    }
                }
                
                log.info(urlAddr + "post info -->" + params.toString() + " result code: " + code + " , data : " +  content);
                
            } catch (Exception e) {
                e.printStackTrace();
                log.error("urlAddr:" + urlAddr+" post error.-> " + params.toString(), e);
            } finally {
                if (conn!=null) 
                    conn.disconnect();
                if (br != null){
                    br.close();
                }
            }
            return content;
        }
        
        public static String post(String urlAddr, Map<String, Object> paramMap, Map<String, Object> headerMap)
                throws Exception {
            
            String content = "";
            HttpURLConnection conn = null;
            StringBuffer params = new StringBuffer();
            Iterator<Map.Entry<String, Object>> it = paramMap.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<String, Object> element = (Map.Entry<String, Object>) it
                        .next();
                params.append((String) element.getKey());
                params.append("=");
                params.append(element.getValue());
                params.append("&");
            }
    
            if (params.length() > 0) {
                params.deleteCharAt(params.length() - 1);
            }
            BufferedReader br = null;
            try {
                URL url = new URL(urlAddr);
                conn = ((HttpURLConnection) url.openConnection());
                conn.setConnectTimeout(3000);
                conn.setReadTimeout(3000); 
                conn.setDoOutput(true);
                conn.setRequestMethod("POST");
                conn.setUseCaches(false);
                conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
                conn.setRequestProperty("Content-Length",String.valueOf(params.length()));
                Iterator<Map.Entry<String, Object>> iter = headerMap.entrySet().iterator();
                while (iter.hasNext()) {
                    Map.Entry<String, Object> element = (Map.Entry<String, Object>) iter
                            .next();
                    conn.setRequestProperty(element.getKey(),
                            (String)element.getValue());
                }
                conn.setDoInput(true);
                conn.connect();
    
                OutputStreamWriter out = new OutputStreamWriter(
                        conn.getOutputStream(), "UTF-8");
                out.write(params.toString());
                out.flush();
                out.close();
    
                int code = conn.getResponseCode();
                if (code != 200) {
                    log.info("ERROR===" + code);
                    InputStream in = conn.getInputStream();
    
                    br = new BufferedReader(new InputStreamReader(
                            in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null)
                        content = content + line + "
    ";
                } else {
                    InputStream in = conn.getInputStream();
    
                    br = new BufferedReader(new InputStreamReader(
                            in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null)
                        content = content + line + "
    ";
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error("urlAddr:"+urlAddr+" post error.-> " + params.toString(), e);
            } finally {
                if (conn!=null) conn.disconnect();
                if (br != null){
                    br.close();
                }
            }
            return content;
        }
    
        public static String post(String urlAddr, String json) throws Exception {
            String content = "";
            HttpURLConnection urlConnection = null;
            BufferedReader br = null;
            try {
                URL url = new URL(urlAddr);  
                urlConnection = (HttpURLConnection) url.openConnection();  
                // 设置doOutput属性为true表示将使用此urlConnection写入数据  
                urlConnection.setDoOutput(true);  
                urlConnection.setConnectTimeout(3000);
                urlConnection.setReadTimeout(3000); 
                // 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型  
                urlConnection.setRequestProperty("content-type", "text/plain");
                urlConnection.setRequestProperty("user-agent", "curl/7.12.1");  
                urlConnection.setRequestProperty("host", "data.zz.baidu.com");
                urlConnection.setRequestProperty("content-length", String.valueOf(json.length()) );
                // 得到请求的输出流对象  
                OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());  
                // 把数据写入请求的Body  
                out.write(json);
                out.flush();  
                out.close(); 
    
                int code = urlConnection.getResponseCode();
                if (code != 200) {
                    log.info("urlAddr:"+urlAddr+" code ERROR===" + code);
                } else {
                    InputStream in = urlConnection.getInputStream();
    
                     br = new BufferedReader(new InputStreamReader(
                            in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null)
                        content = content + line + "
    ";
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error("urlAddr:"+urlAddr+" post error->" + json, e);
            } finally {
               if (urlConnection!=null) urlConnection.disconnect();
               if (br != null){
                   br.close();
               }
            }
            return content;
        }
        
        public static String postBuiness(String urlAddr, String json) {
            String content = "";
            HttpURLConnection urlConnection = null;
            BufferedReader br = null;
            try {
                URL url = new URL(urlAddr);  
                urlConnection = (HttpURLConnection) url.openConnection();  
                // 设置doOutput属性为true表示将使用此urlConnection写入数据  
                urlConnection.setDoOutput(true);  
                // 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型  
                urlConnection.setRequestProperty("content-type", "text/plain");
                urlConnection.setRequestProperty("user-agent", "curl/7.12.1");  
                urlConnection.setRequestProperty("host", "data.zz.baidu.com");
                urlConnection.setRequestProperty("content-length", String.valueOf(json.length()) );
                // 得到请求的输出流对象  
                OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());  
                // 把数据写入请求的Body  
                out.write(json);
                out.flush();  
                out.close(); 
    
                int code = urlConnection.getResponseCode();
                if (code != 200) {
                    log.info("ERROR===" + code);
                } else {
                    InputStream in = urlConnection.getInputStream();
    
                      br = new BufferedReader(new InputStreamReader(
                            in, "UTF-8"));
                    String line = "";
                    while ((line = br.readLine()) != null)
                        content = content + line + "
    ";
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error("urlAddr:"+urlAddr+" post error->" + json, e);
            } finally {
               if(urlConnection!=null)urlConnection.disconnect();
               if (br != null){
                   try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
               }
            } 
            return content;
        }
    
        public static void main(String[] args) throws Exception {
    //        String urlAddr = "http://api.weibo.com/2/proxy/badges/issue.json";
            String ak = "4CZXhoWckYANMkvlCdZNy0kjtS4Aqjqk";
    //        params.put("source", "2067112424");
    //        params.put("uids", "2365944120");
    //        params.put("badge_id", "sAFStotI");
            Map<String, Object> headers = new HashMap<String, Object>();
    // 
            
            HttpClient client = new HttpClient();
            String urlAddr = "http://10.8.2.6:9200/_analyze?pretty&analyzer=ik_smart";
            String result = client.post(urlAddr, "感冒的时候,最不易吃哪些东西???");
            System.out.println(result);
        }
    }

    package com.wenwo.platform.utils;

    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;
    import org.slf4j.Logger;import org.slf4j.LoggerFactory;
    public class HttpClient {private static final Logger log = LoggerFactory.getLogger(HttpClient.class);
    private static HttpURLConnection conn = null; /**      * 向指定URL发送GET方法的请求      * @param url  发送请求的URL      * @param param  请求参数,请求参数应该是name1=value1&name2=value2的形式      * @return URL所代表远程资源的响应      */        public static String sendGet(String url) {          String result = "";          BufferedReader in = null;          try {              URL realUrl = new URL(url);              // 打开和URL之间的连接              URLConnection conn = realUrl.openConnection();              // 设置通用的请求属性              conn.setRequestProperty("accept", "*/*");              conn.setRequestProperty("connection", "Keep-Alive");              conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");              // 建立实际的连接              conn.connect();              // 获取所有响应头字段              Map<String, List<String>> map = conn.getHeaderFields();              // 定义BufferedReader输入流来读取URL的响应              in = new BufferedReader(new InputStreamReader(conn.getInputStream()));              String line;              while ((line = in.readLine()) != null) {                  result += " " + line;              }          } catch (Exception e) {              log.error("HttpClient snedGet url:"+url+" error ->", e);        }          // 使用finally块来关闭输入流          finally {              try {                  if (in != null) {                      in.close();                  }              } catch (IOException ex) {                  ex.printStackTrace();              }          }          return result;      }              /**      * 向指定URL发送GET方法的请求      * @param url  发送请求的URL      * @param param  请求参数,请求参数应该是name1=value1&name2=value2的形式      * @return URL所代表远程资源的响应      */        public static String sendGet(String url,Map<String, Object> headerMap) {          String result = "";          BufferedReader in = null;          try {              URL realUrl = new URL(url);              // 打开和URL之间的连接              URLConnection conn = realUrl.openConnection();              // 设置通用的请求属性  //            conn.setRequestProperty("accept", "*/*");  //            conn.setRequestProperty("connection", "Keep-Alive");  //            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");                         if(headerMap != null) {    Iterator<Map.Entry<String, Object>> it = headerMap.entrySet().iterator();    while (it.hasNext()) {    Map.Entry<String, Object> element = (Map.Entry<String, Object>) it    .next();    conn.setRequestProperty(element.getKey(), element.getValue().toString());      }    }                        // 建立实际的连接              conn.connect();              // 获取所有响应头字段              Map<String, List<String>> map = conn.getHeaderFields();              // 定义BufferedReader输入流来读取URL的响应              in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));              String line;              while ((line = in.readLine()) != null) {                  result += " " + line;              }          } catch (Exception e) {              log.error("HttpClient snedGet url:"+url+" error ->", e);        }          // 使用finally块来关闭输入流          finally {              try {                  if (in != null) {                      in.close();                  }              } catch (IOException ex) {                  ex.printStackTrace();              }          }          return result;      }          public static String get(String urlAddr, Map<String, Object> paramMap) throws Exception {String content = "";StringBuffer params = new StringBuffer();if(paramMap != null) {Iterator<Map.Entry<String, Object>> it = paramMap.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> element = (Map.Entry<String, Object>) it.next();params.append((String) element.getKey());params.append("=");params.append(element.getValue());params.append("&");}}
    if (params.length() > 0) {params.deleteCharAt(params.length() - 1);}BufferedReader br = null;try {URL url = new URL(urlAddr); //new URL(urlAddr + "?" + params.toString());if(params.length()>0){url = new URL(urlAddr + "?" + params.toString());}conn = ((HttpURLConnection) url.openConnection());conn.setConnectTimeout(3000);            conn.setReadTimeout(3000); conn.setDoOutput(false);conn.setRequestMethod("GET");conn.setUseCaches(false);conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");conn.setRequestProperty("Content-Length", "0");conn.setDoInput(true);conn.connect();
    int code = conn.getResponseCode();if (code != 200) {log.info("ERROR===" + code);} else {InputStream in = conn.getInputStream();System.out.println("in.available():"+in.available());br = new BufferedReader(new InputStreamReader(in, "UTF-8"));String line = "";while ((line = br.readLine()) != null){content = content + line + " ";}}} catch (Exception e) {    e.printStackTrace();log.error("urlAddr:"+urlAddr+" get error.->" + params.toString(), e);} finally {    if (br != null){        br.close();    }if (conn!= null)conn.disconnect();}return content;}public static String post(String urlAddr, Map<String, Object> paramMap)throws Exception {String content = "";StringBuffer params = new StringBuffer();Iterator<Map.Entry<String, Object>> it = paramMap.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> element = (Map.Entry<String, Object>) it.next();params.append((String) element.getKey());params.append("=");params.append(element.getValue());params.append("&");}
    if (params.length() > 0) {params.deleteCharAt(params.length() - 1);}BufferedReader br = null;try {URL url = new URL(urlAddr);conn = ((HttpURLConnection) url.openConnection());conn.setConnectTimeout(3000);            conn.setReadTimeout(3000); conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setUseCaches(false);conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");conn.setRequestProperty("Content-Length",String.valueOf(params.length()));conn.setDoInput(true);conn.connect();
    OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");out.write(params.toString());out.flush();out.close();
    int code = conn.getResponseCode();if (code != 200) {log.info("ERROR===" + code);InputStream in = conn.getInputStream();br = new BufferedReader(new InputStreamReader(in, "UTF-8"));String line = "";while ((line = br.readLine()) != null)content = content + line + " ";} else {InputStream in = conn.getInputStream();br = new BufferedReader(new InputStreamReader(in, "UTF-8"));String line = "";while ((line = br.readLine()) != null)content = content + line + " ";}} catch (Exception e) {    e.printStackTrace();log.error("urlAddr:"+urlAddr+" post error. ->" + params.toString(), e);} finally {if (conn!=null)conn.disconnect();if (br != null){    br.close();}}return content;}public static String sendPost(String urlAddr, Map<String, Object> paramMap, Map<String, Object> headerMap)            throws Exception {        String content = "";        HttpURLConnection conn = null;        StringBuffer params = new StringBuffer();        Iterator<Map.Entry<String, Object>> it = paramMap.entrySet().iterator();        while (it.hasNext()) {            Map.Entry<String, Object> element = (Map.Entry<String, Object>) it                    .next();            params.append((String) element.getKey());            params.append("=");            params.append(element.getValue());            params.append("&");        }
            if (params.length() > 0) {            params.deleteCharAt(params.length() - 1);        }        BufferedReader br = null;        try {            URL url = new URL(urlAddr);            conn = ((HttpURLConnection) url.openConnection());            conn.setConnectTimeout(3000);            conn.setReadTimeout(3000);             conn.setDoOutput(true);            conn.setRequestMethod("POST");            conn.setUseCaches(false);            conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");            conn.setRequestProperty("Content-Length",String.valueOf(params.length()));            Iterator<Map.Entry<String, Object>> iter = headerMap.entrySet().iterator();            while (iter.hasNext()) {                Map.Entry<String, Object> element = (Map.Entry<String, Object>) iter                        .next();                conn.setRequestProperty(element.getKey(),                        (String)element.getValue());            }            conn.setDoInput(true);            conn.connect();
                OutputStreamWriter out = new OutputStreamWriter(                    conn.getOutputStream(), "UTF-8");            out.write(params.toString());            out.flush();            out.close();            int code = conn.getResponseCode();                        if (code != 200) {                                log.info("ERROR===" + code);                                InputStream in = conn.getInputStream();
                    br = new BufferedReader(new InputStreamReader(                        in, "UTF-8"));                String line = "";                while ((line = br.readLine()) != null){                    content = content + line + " ";                }                            } else {                InputStream in = conn.getInputStream();                br = new BufferedReader(new InputStreamReader(in, "UTF-8"));                String line = "";                while ((line = br.readLine()) != null){                    content = content + line + " ";                }            }                        log.info(urlAddr + "post info -->" + params.toString() + " result code: " + code + " , data : " +  content);                    } catch (Exception e) {            e.printStackTrace();            log.error("urlAddr:" + urlAddr+" post error.-> " + params.toString(), e);        } finally {            if (conn!=null)                 conn.disconnect();            if (br != null){                br.close();            }        }        return content;    }public static String post(String urlAddr, Map<String, Object> paramMap, Map<String, Object> headerMap)throws Exception {    String content = "";HttpURLConnection conn = null;StringBuffer params = new StringBuffer();Iterator<Map.Entry<String, Object>> it = paramMap.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> element = (Map.Entry<String, Object>) it.next();params.append((String) element.getKey());params.append("=");params.append(element.getValue());params.append("&");}
    if (params.length() > 0) {params.deleteCharAt(params.length() - 1);}BufferedReader br = null;try {URL url = new URL(urlAddr);conn = ((HttpURLConnection) url.openConnection());conn.setConnectTimeout(3000);conn.setReadTimeout(3000); conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setUseCaches(false);conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");conn.setRequestProperty("Content-Length",String.valueOf(params.length()));Iterator<Map.Entry<String, Object>> iter = headerMap.entrySet().iterator();while (iter.hasNext()) {Map.Entry<String, Object> element = (Map.Entry<String, Object>) iter.next();conn.setRequestProperty(element.getKey(),(String)element.getValue());}conn.setDoInput(true);conn.connect();
    OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");out.write(params.toString());out.flush();out.close();
    int code = conn.getResponseCode();if (code != 200) {log.info("ERROR===" + code);InputStream in = conn.getInputStream();
    br = new BufferedReader(new InputStreamReader(in, "UTF-8"));String line = "";while ((line = br.readLine()) != null)content = content + line + " ";} else {InputStream in = conn.getInputStream();
    br = new BufferedReader(new InputStreamReader(in, "UTF-8"));String line = "";while ((line = br.readLine()) != null)content = content + line + " ";}} catch (Exception e) {    e.printStackTrace();log.error("urlAddr:"+urlAddr+" post error.-> " + params.toString(), e);} finally {if (conn!=null) conn.disconnect();if (br != null){    br.close();}}return content;}
    public static String post(String urlAddr, String json) throws Exception {String content = "";HttpURLConnection urlConnection = null;BufferedReader br = null;try {    URL url = new URL(urlAddr);              urlConnection = (HttpURLConnection) url.openConnection();              // 设置doOutput属性为true表示将使用此urlConnection写入数据              urlConnection.setDoOutput(true);              urlConnection.setConnectTimeout(3000);            urlConnection.setReadTimeout(3000);             // 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型              urlConnection.setRequestProperty("content-type", "text/plain");            urlConnection.setRequestProperty("user-agent", "curl/7.12.1");              urlConnection.setRequestProperty("host", "data.zz.baidu.com");            urlConnection.setRequestProperty("content-length", String.valueOf(json.length()) );            // 得到请求的输出流对象              OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());              // 把数据写入请求的Body              out.write(json);            out.flush();              out.close(); 
    int code = urlConnection.getResponseCode();if (code != 200) {log.info("urlAddr:"+urlAddr+" code ERROR===" + code);} else {InputStream in = urlConnection.getInputStream();
    br = new BufferedReader(new InputStreamReader(in, "UTF-8"));String line = "";while ((line = br.readLine()) != null)content = content + line + " ";}} catch (Exception e) {    e.printStackTrace();log.error("urlAddr:"+urlAddr+" post error->" + json, e);} finally {   if (urlConnection!=null) urlConnection.disconnect();   if (br != null){       br.close();   }}return content;}public static String postBuiness(String urlAddr, String json) {String content = "";HttpURLConnection urlConnection = null;BufferedReader br = null;try {    URL url = new URL(urlAddr);              urlConnection = (HttpURLConnection) url.openConnection();              // 设置doOutput属性为true表示将使用此urlConnection写入数据              urlConnection.setDoOutput(true);              // 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型              urlConnection.setRequestProperty("content-type", "text/plain");            urlConnection.setRequestProperty("user-agent", "curl/7.12.1");              urlConnection.setRequestProperty("host", "data.zz.baidu.com");            urlConnection.setRequestProperty("content-length", String.valueOf(json.length()) );            // 得到请求的输出流对象              OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());              // 把数据写入请求的Body              out.write(json);            out.flush();              out.close(); 
    int code = urlConnection.getResponseCode();if (code != 200) {log.info("ERROR===" + code);} else {InputStream in = urlConnection.getInputStream();
          br = new BufferedReader(new InputStreamReader(in, "UTF-8"));String line = "";while ((line = br.readLine()) != null)content = content + line + " ";}} catch (Exception e) {    e.printStackTrace();log.error("urlAddr:"+urlAddr+" post error->" + json, e);} finally {   if(urlConnection!=null)urlConnection.disconnect();   if (br != null){       try {                br.close();            } catch (IOException e) {                e.printStackTrace();            }   }} return content;}
    public static void main(String[] args) throws Exception {//String urlAddr = "http://api.weibo.com/2/proxy/badges/issue.json";String ak = "4CZXhoWckYANMkvlCdZNy0kjtS4Aqjqk";//params.put("source", "2067112424");//params.put("uids", "2365944120");//params.put("badge_id", "sAFStotI");Map<String, Object> headers = new HashMap<String, Object>();// HttpClient client = new HttpClient();String urlAddr = "http://10.8.2.6:9200/_analyze?pretty&analyzer=ik_smart";String result = client.post(urlAddr, "感冒的时候,最不易吃哪些东西???");System.out.println(result);}}

  • 相关阅读:
    实训9.4.前端:url、href、src,link和@import
    实训9.2.作业1.写一个10次循环,每次得到一个随机数,放进一个集合中,如果这个数已经存在集合中则跳过,最后打印集合中的数字.
    实训9.3. SQL——STRUCTURED QUERY LANGUAGE(结构化查询语言 )
    实训9.2.类集,Collection接口
    实训9.2.IDEA ——java编程语言开发的集成环境(集成开发工具)
    实训9.2. JDK——java语言的软件开发工具包(JAVA的运行环境(JVM+Java系统类库)和JAVA工具) 【java开发的核心】
    从键盘输入数据
    error
    ubuntu 14.04, Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='
    用Python徒手写线性回归
  • 原文地址:https://www.cnblogs.com/lemon-flm/p/9531227.html
Copyright © 2011-2022 走看看