• 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;

           }

    }

  • 相关阅读:
    How much training data do you need?
    什么样的论文容易接收发表?​
    How to Write and Publish a Scientific Paper: 7th Edition(科技论文写作与发表教程)(11.04更新)
    如何起草你的第一篇科研论文——应该做&避免做
    Writing the first draft of your science paper — some dos and don’ts
    matlab学习笔记 bsxfun函数
    乘法器的Verilog HDL实现
    重构:改善既有代码的设计
    【Leetcode】Length of Last Word
    Saving HDU hdu
  • 原文地址:https://www.cnblogs.com/zwjcom/p/6061799.html
Copyright © 2020-2023  润新知