用HttpClient发送get,post请求的工具类

来源:互联网 发布:vissim仿真软件 编辑:程序博客网 时间:2024/06/07 11:15
public class HttpRequestUtils {  private static Logger log = LoggerFactory.getLogger(HttpRequestUtils.class);  //返回对象的json  public static JSONObject httpGet(String url){      JSONObject jsonResult = null;      try {          DefaultHttpClient client =new DefaultHttpClient();          //发送get请求          HttpGet request = new HttpGet(url);          HttpResponse response=client.execute(request);          //请求发送并得到响应          if (response.getStatusLine().getStatusCode()== HttpStatus.SC_OK){              //读取服务器返回的json字符串数据              HttpEntity entity = response.getEntity();              InputStream is = entity.getContent();              BufferedReader in = new BufferedReader(new InputStreamReader(is,"UTF-8"));              StringBuffer buffer = new StringBuffer();              String line = "";              while ((line = in.readLine()) != null){                  buffer.append(line);              }              jsonResult=JSONObject.fromObject(buffer.toString());          }      }catch (Exception e){          log.info("get请求失败:"+ url);      }      return  jsonResult;  }    //返回数组的json    public static JSONArray httpGetArray(String url){        JSONArray jsonResult = null;        try {            DefaultHttpClient client =new DefaultHttpClient();            //发送get请求            HttpGet request = new HttpGet(url);            HttpResponse response=client.execute(request);            //请求发送并得到响应            if (response.getStatusLine().getStatusCode()== HttpStatus.SC_OK){                //读取服务器返回的json字符串数据                HttpEntity entity = response.getEntity();                InputStream is = entity.getContent();                BufferedReader in = new BufferedReader(new InputStreamReader(is,"UTF-8"));                StringBuffer buffer = new StringBuffer();                String line = "";                while ((line = in.readLine()) != null){                    buffer.append(line);                }                jsonResult= JSON.parseArray(buffer.toString());            }        }catch (Exception e){            log.info("get请求失败:"+ url);        }        return  jsonResult;    }    //发送post请求    public static JSONObject httpPost(String url,Map<String,String>params) {        JSONObject jsonResult = null;        try {            DefaultHttpClient client = new DefaultHttpClient();            //发送post请求            HttpPost httpPost = new HttpPost(url);            List<NameValuePair> nvps = new ArrayList<>();            if (params != null) {                Iterator<String> keys = params.keySet().iterator();                while (keys.hasNext()) {                    String key = keys.next();                    nvps.add(new BasicNameValuePair(key, params.get(key)));                }                //URL格式编码                httpPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));            }            HttpResponse response = client.execute(httpPost);            if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {                HttpEntity entity = response.getEntity();                InputStream is = entity.getContent();                BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8"));                StringBuffer buffer = new StringBuffer();                String line = "";                while ((line = in.readLine()) != null) {                    buffer.append(line);                }                jsonResult = JSONObject.fromObject(buffer.toString());            }        } catch (Exception e) {            log.info("get请求失败:"+ url);        }        return  jsonResult;    }}