一个强大的调远程接口强大工具HttpClient

来源:互联网 发布:interrupt用法c语言 编辑:程序博客网 时间:2024/05/22 17:33

class

public class HttpClient {public static String doGet(String url, Map<String, String> param) {          // 创建Httpclient对象          CloseableHttpClient httpclient = HttpClients.createDefault();          String resultString = "";          CloseableHttpResponse response = null;          try {              // 创建uri              URIBuilder builder = new URIBuilder(url);              if (param != null) {                  for (String key : param.keySet()) {                      builder.addParameter(key, param.get(key));                  }              }              URI uri = builder.build();                // 创建http GET请求              HttpGet httpGet = new HttpGet(uri);                // 执行请求              response = httpclient.execute(httpGet);              // 判断返回状态是否为200              if (response.getStatusLine().getStatusCode() == 200) {                  resultString = EntityUtils.toString(response.getEntity(), "UTF-8");              }          } catch (Exception e) {              e.printStackTrace();          } finally {              try {                  if (response != null) {                      response.close();                  }                  httpclient.close();              } catch (IOException e) {                  e.printStackTrace();              }          }          return resultString;      }        public static String doGet(String url) {          return doGet(url, null);      }        public static String doPost(String url, Map<String, String> param) {          // 创建Httpclient对象          CloseableHttpClient httpClient = HttpClients.createDefault();          CloseableHttpResponse response = null;          String resultString = "";          try {              // 创建Http Post请求              HttpPost httpPost = new HttpPost(url);              // 创建参数列表              if (param != null) {                  List<NameValuePair> paramList = new ArrayList<NameValuePair>();                  for (String key : param.keySet()) {                      paramList.add(new BasicNameValuePair(key, param.get(key)));                  }                  // 模拟表单                  UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList, "utf-8");                  httpPost.setEntity(entity);              }              // 执行http请求              response = httpClient.execute(httpPost);              resultString = EntityUtils.toString(response.getEntity(), "utf-8");          } catch (Exception e) {              e.printStackTrace();          } finally {              try {                  response.close();              } catch (IOException e) {                  e.printStackTrace();              }          }          return resultString;      }        public static String doPost(String url) {         return doPost(url, null);     }      /**      * 请求的参数类型为json      * @param url      * @param json      * @return      * {username:"",pass:""}      */     public static String doPostJson(String url, String json) {         // 创建Httpclient对象         CloseableHttpClient httpClient = HttpClients.createDefault();         CloseableHttpResponse response = null;         String resultString = "";         try {             // 创建Http Post请求             HttpPost httpPost = new HttpPost(url);             // 创建请求内容             StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);             httpPost.setEntity(entity);             // 执行http请求             response = httpClient.execute(httpPost);             resultString = EntityUtils.toString(response.getEntity(), "utf-8");         } catch (Exception e) {             e.printStackTrace();         } finally {             try {                 response.close();             } catch (IOException e) {                 e.printStackTrace();             }         }         return resultString;     }}

调用HttpClient

HashMap<K, V> map = new HashMap<K, V>();map.put(K, V);....String url = new String();String result = HttpClient.doGet(url, map);OR....String jsonString = JSON.toJSONString(map);String result = HttpClient.doPostJson(url, jsonString);









原创粉丝点击