HttpClient 的GET(帶參數)、POST請求方式,工具類方法


/**
 * 連接/斷開操作 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); } } } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM