HttpClient 的GET(带参数)、POST请求方式,工具类方法

来源:互联网 发布:淘宝如何申请退货退款 编辑:程序博客网 时间:2024/05/22 11:08
/** * 连接/断开操作 post方式 * @param url * @param json */private boolean connOrDisconnOperator(String url,String json){    CloseableHttpClient client = null;    CloseableHttpResponse response = null;    boolean flag = false;    try{        HttpPost httpPost = new HttpPost(url);        RequestConfig requestConfig = RequestConfig.custom()                .setConnectTimeout(50000)                .setSocketTimeout(50000)                .setConnectionRequestTimeout(120000).build();        httpPost.setConfig(requestConfig);        List<BasicNameValuePair> list = Lists.newArrayListWithExpectedSize(1);        list.add(new BasicNameValuePair("json",json));        httpPost.setEntity(new UrlEncodedFormEntity(list));        client = HttpClients.createDefault();        response = client.execute(httpPost);        if(response.getStatusLine().getStatusCode() == 200){            InputStream is = response.getEntity().getContent();            Map<String,Object> m = new ObjectMapper().readValue(StringUtil.getString(is),Map.class);            String strState = m.get("state").toString();            if("SUCCESS".equals(strState)){                flag = true;            }        }else{            log.error(this.getClass(), "connOrDisconnOperator method fail:" + response.getStatusLine().getStatusCode());        }    }catch (Exception ex){        log.error(this.getClass(), "connOrDisconnOperator method error",ex);    }finally {        if(response != null){            try {                response.close();            } catch (IOException ex) {                log.error(this.getClass(), "close response method error", ex);            }        }        if(client != null){            try {                client.close();            } catch (IOException ex) {                log.error(this.getClass(), "close client method", ex);            }        }    }    return flag;}
// get方式public Optional<Map<String,Object>> connOrDisconnOperator(String atisAirPortCode, String url) {    CloseableHttpClient client = null;    CloseableHttpResponse response = null;    try{        HttpGet httpGet = new HttpGet(url + "?airportCode=" +atisAirPortCode);        RequestConfig requestConfig = RequestConfig.custom()                .setSocketTimeout(5000)                .setConnectTimeout(5000)                .setConnectionRequestTimeout(120000).build();        httpGet.setConfig(requestConfig);        client = HttpClients.createDefault();        response = client.execute(httpGet);        if(response.getStatusLine().getStatusCode() == 200 || response.getStatusLine().getStatusCode() == 500){            Map<String,Object> map = Maps.newHashMapWithExpectedSize(4);            InputStream is = response.getEntity().getContent();            JsonNode jn = new ObjectMapper().readTree(StringUtil.getString(is));            // 解析返回结果            String result = jn.get("state").asText();            if (result.equals("SUCCESS")) {                System.out.println("-----------------------------成功");            } else {                System.out.println("-----------------------------失败");            }            return Optional.of(map);        }else{            return Optional.absent();        }    }catch (Exception ex) {        log.error(this.getClass(), "getOSInfo() error", ex);        return Optional.absent();    }finally {        if(response != null){            try {                response.close();            } catch (IOException ex) {                log.error(this.getClass(), "close IO error", ex);            }        }        if(client != null){            try {                client.close();            } catch (IOException ex) {                log.error(this.getClass(),"close IO error",ex);            }        }    }}

阅读全文
0 0
原创粉丝点击