HttpUtil.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.xxl.job.client.util;
  2. import java.io.IOException;
  3. import java.io.PrintWriter;
  4. import java.io.StringWriter;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.Map;
  8. import org.apache.http.HttpEntity;
  9. import org.apache.http.HttpResponse;
  10. import org.apache.http.NameValuePair;
  11. import org.apache.http.client.config.RequestConfig;
  12. import org.apache.http.client.entity.UrlEncodedFormEntity;
  13. import org.apache.http.client.methods.HttpPost;
  14. import org.apache.http.impl.client.CloseableHttpClient;
  15. import org.apache.http.impl.client.HttpClients;
  16. import org.apache.http.message.BasicNameValuePair;
  17. import org.apache.http.util.EntityUtils;
  18. /**
  19. * http util to send data
  20. * @author xuxueli
  21. * @version 2015-11-28 15:30:59
  22. */
  23. public class HttpUtil {
  24. // response param
  25. public static final String status = "status";
  26. public static final String msg = "msg";
  27. // response status enum
  28. public static final String SUCCESS = "SUCCESS";
  29. public static final String FAIL = "FAIL";
  30. /**
  31. * http post request
  32. * @param reqURL
  33. * @param params
  34. * @return [0]=responseMsg, [1]=exceptionMsg
  35. */
  36. public static String[] post(String reqURL, Map<String, String> params){
  37. String responseMsg = null;
  38. String exceptionMsg = null;
  39. // do post
  40. HttpPost httpPost = null;
  41. CloseableHttpClient httpClient = null;
  42. try{
  43. httpPost = new HttpPost(reqURL);
  44. httpClient = HttpClients.createDefault();
  45. if (params != null && !params.isEmpty()) {
  46. List<NameValuePair> formParams = new ArrayList<NameValuePair>();
  47. for(Map.Entry<String,String> entry : params.entrySet()){
  48. formParams.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
  49. }
  50. httpPost.setEntity(new UrlEncodedFormEntity(formParams, "UTF-8"));
  51. }
  52. RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(5000).setConnectTimeout(5000).build();
  53. httpPost.setConfig(requestConfig);
  54. HttpResponse response = httpClient.execute(httpPost);
  55. HttpEntity entity = response.getEntity();
  56. if (null != entity) {
  57. responseMsg = EntityUtils.toString(entity, "UTF-8");
  58. EntityUtils.consume(entity);
  59. }
  60. if (response.getStatusLine().getStatusCode() != 200) {
  61. exceptionMsg = "response.getStatusLine().getStatusCode() = " + response.getStatusLine().getStatusCode();
  62. }
  63. } catch (Exception e) {
  64. e.printStackTrace();
  65. StringWriter out = new StringWriter();
  66. e.printStackTrace(new PrintWriter(out));
  67. exceptionMsg = out.toString();
  68. } finally{
  69. if (httpPost!=null) {
  70. httpPost.releaseConnection();
  71. }
  72. if (httpClient!=null) {
  73. try {
  74. httpClient.close();
  75. } catch (IOException e) {
  76. e.printStackTrace();
  77. }
  78. }
  79. }
  80. String[] result = new String[2];
  81. result[0] = responseMsg;
  82. result[1] = exceptionMsg;
  83. return result;
  84. }
  85. }