• HttpClient工具类


    doPost

        public static String doPostJson(String reqUrl, String reqJson, List<Header> headers) {
            String retJson = "";
            HttpClient httpClient = null;
            PostMethod postMethod = null;
            try {
                Charset defaultCharset = StandardCharsets.UTF_8;
                postMethod = new PostMethod();
                postMethod.setURI(new URI(reqUrl, true, defaultCharset.toString()));
                RequestEntity requestEntity = new StringRequestEntity(reqJson, "application/json", defaultCharset.toString());
                postMethod.setRequestEntity(requestEntity);
                if (headers != null) {
                    for (Header header : headers) {
                        postMethod.setRequestHeader(header);
                    }
                }
                httpClient = new HttpClient();
                httpClient.getHttpConnectionManager().getParams().setSoTimeout(10000);
                httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(10000);
                logger.info("HttpClient.start PostMethod.reqUrl【{}】PostMethod.reqJson【{}】", new Object[]{reqUrl, reqJson});
                int statusCode = httpClient.executeMethod(postMethod);
                logger.info("HttpClient.end PostMethod.statusCode【{}】PostMethod.statusText【{}】", new Object[]{statusCode, postMethod.getStatusText()});
                if (statusCode == HttpStatus.HTTP_OK) {
                    retJson = new String(postMethod.getResponseBody(), defaultCharset);
                    logger.info("HttpClient.end PostMethod.retJson【{}】", new Object[]{retJson});
                }
            } catch (Exception exception) {
                logger.error("HttpClient.error msg【{}】stackTrace【{}】", new Object[]{exception.getMessage(), exception.getStackTrace()});
            } finally {
                if (postMethod != null) {
                    postMethod.releaseConnection();
                }
                if (httpClient != null) {
                    ((SimpleHttpConnectionManager) httpClient.getHttpConnectionManager()).shutdown();
                }
            }
            return retJson;
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    doGet

        public static String doGetJson(String reqUrl, List<Header> headers) {
            String retJson = "";
            HttpClient httpClient = null;
            GetMethod getMethod = null;
            try {
                Charset defaultCharset = StandardCharsets.UTF_8;
                getMethod = new GetMethod();
                getMethod.setURI(new URI(reqUrl, true, defaultCharset.toString()));
                if (headers != null) {
                    for (Header header : headers) {
                        getMethod.setRequestHeader(header);
                    }
                }
                httpClient = new HttpClient();
                httpClient.getHttpConnectionManager().getParams().setSoTimeout(10000);
                httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(10000);
                logger.info("HttpClient.start PostMethod.reqUrl【{}】", new Object[]{reqUrl});
                int statusCode = httpClient.executeMethod(getMethod);
                logger.info("HttpClient.end PostMethod.statusCode【{}】PostMethod.statusText【{}】", new Object[]{statusCode, getMethod.getStatusText()});
                if (statusCode == HttpStatus.HTTP_OK) {
                    retJson = new String(getMethod.getResponseBody(), defaultCharset);
                    logger.info("HttpClient.end PostMethod.retJson【{}】", new Object[]{retJson});
                }
            } catch (Exception exception) {
                logger.error("HttpClient.doGetJson.error msg【{}】", new Object[]{exception.getMessage()});
                logger.error(exception.getMessage(), exception);
            } finally {
                if (getMethod != null) {
                    getMethod.releaseConnection();
                }
                if (httpClient != null) {
                    ((SimpleHttpConnectionManager) httpClient.getHttpConnectionManager()).shutdown();
                }
            }
            return retJson;
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
  • 相关阅读:
    Go整合Logrus实现日志打印
    Vue2+ElementUI表单、Form组件的封装
    “网站不安全”该如何解决
    (Note)机器学习面试题
    Cilium系列-14-Cilium NetworkPolicy 简介
    【计算机毕业设计】java ssm智能新冠疫苗接种管理系统vue
    浅议.NET遗留应用改造
    2022年陕西省工程师职称申报,基本的职称论文要求您得知道啊
    基于C++ 11的简单线程池实现
    【华为OD机试真题 python】信道分配 【2022 Q4 | 200分】
  • 原文地址:https://blog.csdn.net/qq_27865749/article/details/133160031