package cn.hobbystocks.auc.common.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.slf4j.LoggerFactory; import com.alibaba.fastjson.JSONObject; public class HttpUtils { /** * * @param url * @param param */ public static Result post(String url, String param) { HttpClient client = HttpClients.createDefault(); HttpPost post = new HttpPost(url); String rep = ""; LoggerFactory.getLogger("HttpUtils").info("发送请求,url:" + url + ",param:" + param); try { StringEntity s = new StringEntity(param, "UTF-8"); post.setEntity(s); post.setHeader("Content-Type", "application/json;charset=utf-8"); HttpResponse res = client.execute(post); if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = res.getEntity(); rep = EntityUtils.toString(entity, "utf-8"); } else { LoggerFactory.getLogger("HttpUtils") .info("调用接口返回异常,url:" + url + ",CODE:" + res.getStatusLine().getStatusCode()); Result r = new Result(); r.setCode(res.getStatusLine().getStatusCode()); r.setMsg("系统异常"); return r; } } catch (Exception e) { LoggerFactory.getLogger("HttpUtils").error("调用接口异常:" + url); throw new RuntimeException(e); } LoggerFactory.getLogger("HttpUtils").info("请求结果:" + rep); return mapResult(rep); } public static Result get(String url) { HttpClient client = HttpClients.createDefault(); HttpGet get = new HttpGet(url); String rep = ""; try { get.setHeader("Content-Type", "application/json;charset=utf-8"); HttpResponse res = client.execute(get); if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = res.getEntity(); rep = EntityUtils.toString(entity, "utf-8"); } else { LoggerFactory.getLogger("HttpUtils") .info("调用接口返回异常,url:" + url + "CODE:" + res.getStatusLine().getStatusCode()); Result r = new Result(); r.setCode(res.getStatusLine().getStatusCode()); r.setMsg("系统异常"); return r; } } catch (Exception e) { LoggerFactory.getLogger("HttpUtils").error("调用接口异常:" + url); throw new RuntimeException(e); } return mapResult(rep); } private static Result mapResult(String rep) { JSONObject jo = JSONObject.parseObject(rep); Result r = new Result(); r.setCode(jo.getIntValue("code")); r.setMsg(jo.getString("msg")); r.setData(jo.getString("data")); return r; } public static class Result { private int code; private String msg; private String data; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getData() { return data; } public void setData(String data) { this.data = data; } } }