利用HTTPClient发送http请求post和get

mac2024-04-10  37

 public static String post(String api, Map<String, String> paramMap) throws IOException {         HttpClient client = HttpClients.custom().build();         StringEntity entity = new StringEntity("");         if (paramMap != null) {             entity = new StringEntity(JSON.toJSONString(paramMap), "utf-8");         }

        logger.debug("WebhookUtil ---> sendWebhookRequest 参数  ,api = {}, entity= {}", api, entity.toString());         HttpUriRequest request = RequestBuilder.create("POST").setUri(api).setEntity(entity).setHeader("Content-Type", "application/json").build();         HttpResponse response = client.execute(request);         if (response.getStatusLine().getStatusCode() != 200) {             return null;         } else {             HttpEntity entity1 = response.getEntity();             BufferedReader reader = new BufferedReader(new InputStreamReader(entity1.getContent(), StandardCharsets.UTF_8));             StringBuffer buffer = new StringBuffer();

            String line;             while((line = reader.readLine()) != null) {                 buffer.append(line);             }

            reader.close();             return buffer.toString();         }     }

    public static String get(String api, Map<String, String> params) throws IOException {         HttpClient client = HttpClients.custom().build();         int size = 0;         if (params != null) {             size = params.size();         }

        NameValuePair[] nvms = new BasicNameValuePair[size];         if (params != null) {             int index = 0;

            for(Iterator var6 = params.entrySet().iterator(); var6.hasNext(); ++index) {                 Entry<String, String> p = (Entry)var6.next();                 String key = (String)p.getKey();                 String value = (String)p.getValue();                 NameValuePair nameValuePair = new BasicNameValuePair(key, value);                 nvms[index] = nameValuePair;             }         }

        logger.debug("WebhookUtil ---> sendWebhookRequest 参数  ,api = {}, params= {}", api);         HttpUriRequest request = RequestBuilder.create("GET").setUri(api).addParameters(nvms).setHeader("Content-Type", "application/json").build();         HttpResponse response = client.execute(request);         if (response.getStatusLine().getStatusCode() != 200) {             return null;         } else {             HttpEntity entity1 = response.getEntity();             BufferedReader reader = new BufferedReader(new InputStreamReader(entity1.getContent(), StandardCharsets.UTF_8));             StringBuffer buffer = new StringBuffer();

            String line;             while((line = reader.readLine()) != null) {                 buffer.append(line);             }

            reader.close();             return buffer.toString();         }     }

最新回复(0)