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

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);









  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值