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

    package com.jd.ng.shiro.utils;

    import org.apache.http.HttpEntity;
    import org.apache.http.HttpStatus;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.config.RequestConfig;
    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.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;

    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;

    /**

    • @Author: husToy.Wang

    • @Date: 2019/8/5 9:38

    • @Version 1.0
      */
      public class HttpClientUtil {

      private static final Logger logger = LoggerFactory.getLogger(HttpClientUtil.class);

      /**

      • 封装 doGet方法,执行

      • @param url

      • @return
        */
        public static String doGet(String url) {

        CloseableHttpClient httpClient = HttpClients.createDefault();

        HttpGet httpGet = new HttpGet(url);

        /**

        • 设置请求头
          */
          //httpGet.setHeader(new BasicHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"));

        CloseableHttpResponse response = null;

        try {
        response = httpClient.execute(httpGet);

         if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
             HttpEntity entity = response.getEntity();
        
             String result = EntityUtils.toString(entity, "UTF-8");
        
             EntityUtils.consume(entity);
        
             httpClient.close();
        
             return result;
         }
         httpClient.close();
        

        } catch (IOException e) {
        logger.error("httpClient.doGet.error:{}", e.getMessage());
        return null;
        }

        return null;
        }

      /**

      • 封装 post请求

      • @return
        */
        public static String doPost(String url) throws IOException {
        String result = null;

        CloseableHttpClient httpClient = HttpClients.createDefault();

        CloseableHttpResponse response = null;

        try {

         HttpPost httpPost = new HttpPost(url);
        
         // 定义请求的配置
         RequestConfig config = RequestConfig.custom().setSocketTimeout(20000).setConnectTimeout(2000).build();
         httpPost.setConfig(config);
        
        
         List<NameValuePair> parameters = new ArrayList<NameValuePair>(0);
         parameters.add(new BasicNameValuePair("scope", "project"));
         parameters.add(new BasicNameValuePair("q", "java"));
        
         // 提交参数发送请求
         UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(parameters);
        
         // 请求中设置请求体
         httpPost.setEntity(urlEncodedFormEntity);
        
        
         // 如果需要,设置请求头,多个请求头
         //Header[] headers = {new BasicHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8")};
         //httpPost.setHeaders(headers);
        
        
         response = httpClient.execute(httpPost);
        
         HttpEntity entity = response.getEntity();
        
         if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
        
             result = EntityUtils.toString(entity, "UTF-8");
        
             EntityUtils.consume(entity);
             httpClient.close();
             return result;
         }
        

        } catch (Exception e) {
        logger.error("httpClient.doPost.error:{}", e.getMessage());
        return null;
        }

        return null;
        }

    }

  • 相关阅读:
    Excel宏打开URL 特殊字符#变了
    windows升级到1607后操作很卡顿的解决办法
    打包解决方案后,安装时提示只能在IIS5.1以上运行解决方法
    在CS代码页获取input输入框内肉----.net学习点滴
    greenplum 6.7编译安装插件pxf
    greenplum 6.7编译安装插件mysql_fdw
    python3 + greenplum-spark-connector访问greenplum
    centos7无cm安装hadoop+spark
    hive实现update和delete功能
    使得hivecli访问hive
  • 原文地址:https://www.cnblogs.com/leigepython/p/11301448.html
Copyright © 2011-2022 走看看