| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- package com.uas.eis.utils;
- import cn.hutool.http.HttpException;
- import cn.hutool.http.HttpRequest;
- import cn.hutool.http.HttpResponse;
- import com.alibaba.fastjson.JSON;
- import com.uas.eis.vo.stkVo.HttpResultResponse;
- import lombok.extern.slf4j.Slf4j;
- import java.util.Map;
- @Slf4j
- public class HuToolUtils {
- /**
- * 超时毫秒数。http的连接与读取
- */
- private static final int TIME_OUT_MILLISECONDS = 60000;
- /**
- * Content-Type
- */
- private static final String CONTENT_TYPE_JSON = "application/json; charset=utf-8";
- private static final String CONTENT_TYPE_FORM = "multipart/form-data";
- /**
- * GET请求
- */
- public static HttpResultResponse get(String url) {
- return get(url, null);
- }
- public static HttpResultResponse get(String url, Map<String, String> headerMap) {
- HttpResultResponse httpResultResponse = new HttpResultResponse();
- try {
- HttpResponse response = HttpRequest
- .get(url)
- .timeout(TIME_OUT_MILLISECONDS)
- .addHeaders(headerMap)
- .execute();
- if (!response.isOk()) {
- log.error("HttpUtils get 响应失败. url={},headerMap={}, response={}", url, headerMap, response.toString());
- return httpResultResponse.buildError();
- }
- return httpResultResponse.buildSuccess(response.body());
- } catch (HttpException e) {
- log.error("HttpUtils get HttpException异常. url={},headerMap={}", url, headerMap, e);
- return httpResultResponse.buildError(e.getMessage());
- } catch (Exception e) {
- log.error("HttpUtils get Exception异常. url={},headerMap={}", url, headerMap, e);
- return httpResultResponse.buildError(e.getMessage());
- }
- }
- public static HttpResultResponse post(String url, Object postBody) {
- return post(url, postBody, null);
- }
- /**
- * post 请求
- *
- * @param url 请求链接
- * @param postBody 请求对象 or 请求json字符串
- * @param headerMap 请求头map
- *
- * @return HttpResultResponse
- */
- public static HttpResultResponse post(String url, Object postBody, Map<String, String> headerMap) {
- HttpResultResponse httpResultResponse = new HttpResultResponse();
- HttpResponse response = null;
- try {
- HttpRequest httpRequest = HttpRequest
- .post(url)
- .timeout(TIME_OUT_MILLISECONDS)
- .addHeaders(headerMap);
- if (postBody instanceof byte[]) {
- httpRequest.body((byte[]) postBody);
- } else if (postBody instanceof String) {
- httpRequest.body((String) postBody);
- } else {
- httpRequest.body(JSON.toJSONString(postBody), CONTENT_TYPE_JSON);
- }
- response = httpRequest.execute();
- if (!response.isOk()) {
- log.error("HttpUtils post 响应失败. url={},postBody={}, headerMap={}, response={}", url, postBody,
- headerMap, response.toString());
- return httpResultResponse.buildError(response.body());
- }
- return httpResultResponse.buildSuccess(response.body());
- } catch (HttpException e) {
- log.error("HttpUtils post HttpException异常. url={},postBody={}, headerMap={}", url, postBody, headerMap, e);
- return httpResultResponse.buildError(e.getMessage());
- } catch (Exception e) {
- log.error("HttpUtils post Exception异常. url={},postBody={},headerMap={}", url, postBody, headerMap, e);
- return httpResultResponse.buildError(e.getMessage());
- } finally {
- if (response != null) {
- response.close(); // 确保关闭响应
- }
- }
- }
- public static HttpResultResponse postByForm(String url, Object postBody, Map<String, String> headerMap) {
- HttpResultResponse httpResultResponse = new HttpResultResponse();
- String body;
- if (postBody instanceof String) {
- body = (String) postBody;
- } else {
- body = JSON.toJSONString(postBody);
- }
- try {
- HttpResponse response = HttpRequest
- .post(url)
- .body(body, CONTENT_TYPE_FORM)
- .timeout(TIME_OUT_MILLISECONDS)
- .addHeaders(headerMap)
- .execute();
- if (!response.isOk()) {
- log.error("HttpUtils post 响应失败. url={},postBody={}, headerMap={}, response={}", url, postBody,
- headerMap, response.toString());
- return httpResultResponse.buildError();
- }
- return httpResultResponse.buildSuccess(response.body());
- } catch (HttpException e) {
- log.error("HttpUtils post HttpException异常. url={},postBody={}, headerMap={}", url, postBody, headerMap, e);
- return httpResultResponse.buildError(e.getMessage());
- } catch (Exception e) {
- log.error("HttpUtils post Exception异常. url={},postBody={},headerMap={}", url, postBody, headerMap, e);
- return httpResultResponse.buildError(e.getMessage());
- }
- }
- /**
- * put 请求, 无header
- *
- * @param url 链接
- * @param putBody 请求对象 or 请求json字符串
- *
- * @return HttpResultResponse
- */
- public static HttpResultResponse put(String url, Object putBody) {
- return put(url, putBody, null);
- }
- /**
- * put 请求
- *
- * @param url 请求链接
- * @param putBody 请求对象 or 请求json字符串
- * @param headerMap 请求头map
- *
- * @return HttpResultResponse
- */
- public static HttpResultResponse put(String url, Object putBody, Map<String, String> headerMap) {
- HttpResultResponse httpResultResponse = new HttpResultResponse();
- try {
- HttpRequest httpRequest = HttpRequest
- .put(url)
- .timeout(TIME_OUT_MILLISECONDS)
- .addHeaders(headerMap);
- if (putBody instanceof byte[]) {
- httpRequest.body((byte[]) putBody);
- } else if (putBody instanceof String) {
- httpRequest.body((String) putBody);
- } else {
- httpRequest.body(JSON.toJSONString(putBody), CONTENT_TYPE_JSON);
- }
- HttpResponse response = httpRequest.execute();
- if (!response.isOk()) {
- log.error("HttpUtil put 响应失败. url={},putBody={}, headerMap={}, response={}", url, putBody,
- headerMap, response.toString());
- return httpResultResponse.buildError();
- }
- return httpResultResponse.buildSuccess(response.body());
- } catch (HttpException e) {
- log.error("HttpUtil put HttpException异常. url={},putBody={}, headerMap={}", url, putBody, headerMap, e);
- return httpResultResponse.buildError(e.getMessage());
- } catch (Exception e) {
- log.error("HttpUtil put Exception异常. url={},putBody={},headerMap={}", url, putBody, headerMap, e);
- return httpResultResponse.buildError(e.getMessage());
- }
- }
- }
|