zoukankan      html  css  js  c++  java
  • HttpClient封装工具类

    import java.io.IOException;

    import java.net.URI;

    import java.util.ArrayList;

    import java.util.List;

    import java.util.Map;

    import org.apache.http.NameValuePair;

    import org.apache.http.client.entity.UrlEncodedFormEntity;

    import org.apache.http.client.methods.CloseableHttpResponse;

    import org.apache.http.client.methods.HttpGet;

    import org.apache.http.client.methods.HttpPost;

    import org.apache.http.client.utils.URIBuilder;

    import org.apache.http.entity.ContentType;

    import org.apache.http.entity.StringEntity;

    import org.apache.http.impl.client.CloseableHttpClient;

    import org.apache.http.impl.client.HttpClients;

    import org.apache.http.message.BasicNameValuePair;

    import org.apache.http.util.EntityUtils;

    public class HttpClientUtil {

           public static String doGet(String url, Map<String, String> param) {

                  // 创建Httpclient对象

                  CloseableHttpClient httpclient = HttpClients.createDefault();

                  String resultString = "";

                  CloseableHttpResponse response = null;

                  try {

                         // 创建uri

                         URIBuilder builder = new URIBuilder(url);

                         if (param != null) {

                                for (String key : param.keySet()) {

                                       builder.addParameter(key, param.get(key));

                                }

                         }

                         URI uri = builder.build();

                         // 创建http GET请求

                         HttpGet httpGet = new HttpGet(uri);

                         // 执行请求

                         response = httpclient.execute(httpGet);

                         // 判断返回状态是否为200

                         if (response.getStatusLine().getStatusCode() == 200) {

                                resultString = EntityUtils.toString(response.getEntity(), "UTF-8");

                         }

                  } catch (Exception e) {

                         e.printStackTrace();

                  } finally {

                         try {

                                if (response != null) {

                                       response.close();

                                }

                                httpclient.close();

                         } catch (IOException e) {

                                e.printStackTrace();

                         }

                  }

                  return resultString;

           }

           public static String doGet(String url) {

                  return doGet(url, null);

           }

           public static String doPost(String url, Map<String, String> param) {

                  // 创建Httpclient对象

                  CloseableHttpClient httpClient = HttpClients.createDefault();

                  CloseableHttpResponse response = null;

                  String resultString = "";

                  try {

                         // 创建Http Post请求

                         HttpPost httpPost = new HttpPost(url);

                         // 创建参数列表

                         if (param != null) {

                                List<NameValuePair> paramList = new ArrayList<>();

                                for (String key : param.keySet()) {

                                       paramList.add(new BasicNameValuePair(key, param.get(key)));

                                }

                                // 模拟表单

                                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);

                                httpPost.setEntity(entity);

                         }

                         // 执行http请求

                         response = httpClient.execute(httpPost);

                         resultString = EntityUtils.toString(response.getEntity(), "utf-8");

                  } catch (Exception e) {

                         e.printStackTrace();

                  } finally {

                         try {

                                response.close();

                         } catch (IOException e) {

                                // TODO Auto-generated catch block

                                e.printStackTrace();

                         }

                  }

                  return resultString;

           }

           public static String doPost(String url) {

                  return doPost(url, null);

           }

          

           public static String doPostJson(String url, String json) {

                  // 创建Httpclient对象

                  CloseableHttpClient httpClient = HttpClients.createDefault();

                  CloseableHttpResponse response = null;

                  String resultString = "";

                  try {

                         // 创建Http Post请求

                         HttpPost httpPost = new HttpPost(url);

                         // 创建请求内容

                         StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);

                         httpPost.setEntity(entity);

                         // 执行http请求

                         response = httpClient.execute(httpPost);

                         resultString = EntityUtils.toString(response.getEntity(), "utf-8");

                  } catch (Exception e) {

                         e.printStackTrace();

                  } finally {

                         try {

                                response.close();

                         } catch (IOException e) {

                                // TODO Auto-generated catch block

                                e.printStackTrace();

                         }

                  }

                  return resultString;

           }

    }

  • 相关阅读:
    Three.js 类的粗略总结和实现
    JavaScript方法
    JavaScript 继承和数组
    JavaScript 函数
    操作系统之堆和栈的区别
    第十二章 动态内存
    第十三章-第六小节-对象移动
    第十五章 面形对象程序设计
    动态建树和静态建树
    高斯消元整数版和浮点数版实现
  • 原文地址:https://www.cnblogs.com/zwjcom/p/6061799.html
Copyright © 2011-2022 走看看