lidongdong
2024-04-01 331b9312680c468176aa282396dca384afbbdf88
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientUtil.java
@@ -1,6 +1,7 @@
package com.panzhihua.common.utlis;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
@@ -33,6 +34,8 @@
import lombok.extern.slf4j.Slf4j;
import javax.net.ssl.SSLContext;
import static com.panzhihua.common.utlis.wx.WXPayConstants.USER_AGENT;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -190,7 +193,7 @@
            HttpResponse httpResponse = defaultHttpClient.execute(httpGet);
            if (httpResponse.getStatusLine().getStatusCode() != 200) {
                String errorLog = "请求失败,errorCode:" + httpResponse.getStatusLine().getStatusCode();
                log.info(errorLog);
                log.info("errorLog:{}"+errorLog);
                throw new Exception(url + errorLog);
            }
            // 读取返回信息
@@ -216,6 +219,8 @@
        }
    }
    /**
     * http请求工具类,post请求
     *
@@ -232,7 +237,7 @@
        try {
            defaultHttpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            httpPost.setHeader("Content-Type", "application/json;charset=ut-8");
            httpPost.setHeader("Content-Type", "application/json;charset=utf-8");
            if (StringUtils.isNotBlank(param)) {
                log.info("参数值:{}", param);
                HttpEntity httpEntity = new StringEntity(param, "utf-8");
@@ -264,6 +269,103 @@
        }
    }
    // HTTP GET请求
    public static String sendGet(String url) throws Exception {
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        //默认值GET
        con.setRequestMethod("GET");
        //添加请求头
        con.setRequestProperty("User-Agent", USER_AGENT);
        int responseCode = con.getResponseCode();
        log.info("发送 'GET' 请求到 URL:{}" + url);
        log.info("Response Code:{}" + responseCode);
        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
        //打印结果
        log.info("uu洗车返回:{}"+response.toString());
        return response.toString();
    }
    /**
     * http请求工具类,post请求
     *
     * @param url
     *            url
     * @param param
     *            参数值 仅支持String
     * @return
     * @throws Exception
     */
    public static String httpPostAndToken(String url, String param,Map headerMap) throws Exception {
        DefaultHttpClient defaultHttpClient = null;
        BufferedReader bufferedReader = null;
        try {
            defaultHttpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            httpPost.setHeader("Content-Type", "application/json;charset=utf-8");
//            httpPost.setHeader("Authorization", headerMap.get("Authorization").toString());
//            httpPost.setHeader("Host", headerMap.get("Host").toString());
            for (Object key : headerMap.keySet()) {
                httpPost.setHeader(key.toString(), headerMap.get(key).toString());
            }
            if (StringUtils.isNotBlank(param)) {
                log.info("参数值:{}", param);
                HttpEntity httpEntity = new StringEntity(param, "utf-8");
                httpPost.setEntity(httpEntity);
//                httpPost.setHeader("Content-Length", String.valueOf(httpEntity.getContentLength()));
            }
            HttpResponse httpResponse = defaultHttpClient.execute(httpPost);
            if (httpResponse.getStatusLine().getStatusCode() != 200) {
                int statusCode = httpResponse.getStatusLine().getStatusCode();
                String errorLog = "请求失败,errorCode:" + httpResponse.getStatusLine().getStatusCode();
                log.info(errorLog);
                throw new Exception(url + errorLog);
            }
            // 读取返回信息
            String output;
            bufferedReader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "utf-8"));
            StringBuilder stringBuilder = new StringBuilder();
            while ((output = bufferedReader.readLine()) != null) {
                stringBuilder.append(output);
            }
            log.info("调用接口返回的参数:" + stringBuilder.toString());
            return stringBuilder.toString();
        } catch (IOException e) {
            e.printStackTrace();
            throw e;
        } finally {
            if (defaultHttpClient != null)
                defaultHttpClient.getConnectionManager().shutdown();
            if (bufferedReader != null)
                bufferedReader.close();
        }
    }
    public static void main(String[] args) throws IOException {
        DefaultHttpClient  defaultHttpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost("https://dptest.d-power.com.cn:14404/v1/face");
//        httpPost.setHeader("Content-Type", "application/json;charset=utf-8");
        httpPost.setHeader("Authorization", "DpToken P3JHgjLbyljfLrFnS9OZbATRJmacdt4b");
        httpPost.setHeader("Host", "123.60.2.66");
//        httpPost.setHeader("Content-Length", String.valueOf(entity.getContentLength()));
//        httpPost.setHeader("User-Agent", "Apache-HttpClient/4.5.12 (Java/1.8.0_162)[\\r][\\n]");
        httpPost.setEntity(new StringEntity("{\"positions\":[{\"role\":\"occupant\",\"communityId\":\"64f99b2ed26106d4f0fe93f4\",\"unitId\":\"64f99b2ed26106d4f0fe93f7\"}],\"tel\":\"15696695118\",\"name\":\"四月里3\",\"timeout\":10,\"image\":\"fsdfsdfsdf\"}", "utf-8"));
//        httpPost.setHeader("Content-Length", String.valueOf(entity.getContentLength()));
        HttpResponse httpResponse = defaultHttpClient.execute(httpPost);
        System.out.println(httpResponse.getEntity());
    }
    /**
     * get请求
     *