1.发送一个HTTP GET请求到指定的URL

/**
     * post请求
     *
     * @param json
     * @param url
     * @return
     */
    public static String post(String json, String url, String token) {
        // 添加请求头信息
        Map<String, String> heads = new HashMap<>(10);
        // 使用json发送请求,下面的是必须的
        heads.put("Content-Type", "application/json;charset=UTF-8");
        heads.put("Authorization", "Bearer " + token);

        /**
         ** headerMap是添加的请求头,
         body是传入的参数,这里选择json,后端使用@RequestBody接收
         */

        HttpResponse response = null;
        try {
            response = HttpRequest.post(url)
                    .headerMap(heads, false)
                    .body(json)
                    .timeout(20000)
                    .execute();
            //有个坑超过21秒会导致失效,注意
        } catch (Exception e) {
            log.error("url请求失败:{}", url, e.getMessage());
            return "";
        }
        return response.body();
    }
  • 定义函数:函数名为get,接受两个参数:一个是要请求的URL字符串,另一个是用于认证的Token字符串。函数返回一个字符串类型的结果。
  • 初始化响应对象:声明一个HttpResponse对象response,用于存储HTTP请求的响应。
  • 设置请求头:创建一个HashMap对象heads来存储请求头信息。至少包含两个关键/值对:
  • "Content-Type"设置为"application/json;charset=UTF-8",指定请求的内容类型为JSON并使用UTF-8字符集。
  • "Authorization"设置为"Bearer " + token,其中token是传入的参数,用于认证请求的用户。
  • 发送GET请求:
  • 使用HttpRequest.get(url)开始构建GET请求。
  • 设置请求超时时间为20000毫秒。
  • 设置请求头信息,使用刚才创建的heads映射,并指定是否覆盖现有的头信息。
  • 调用execute方法执行请求。
  • 异常处理:
  • 如果请求成功,记录日志信息,表示URL请求成功,并继续处理响应。
  • 如果请求失败(捕获到异常),记录错误日志,包含异常信息,并返回空字符串。
  • 返回响应内容:如果请求成功,返回响应的主体内容(response.body())作为函数结果。

总结:这个函数主要用于向指定URL发送带有认证信息的GET请求,并获取服务器的响应内容。如果请求失败,函数将返回一个空字符串。


2.发送一个HTTP GET请求到指定的URL

/**
     * get请求
     *
     * @param url
     * @return
     */
    public static String get(String url, String token) {
        HttpResponse response = null;
        // 添加请求头信息
        Map<String, String> heads = new HashMap<>(10);
        // 使用json发送请求,下面的是必须的
        heads.put("Content-Type", "application/json;charset=UTF-8");
        heads.put("Authorization", "Bearer " +token);
        try {
            response = HttpRequest.get(url).timeout(20000)
                    .headerMap(heads, false).execute();
            log.info(url + ":请求成功");
        } catch (Exception e) {
            log.error("url请求失败:{}", url, e.getMessage());
            return "";
        }
        return response.body();
    }
  • 函数参数:
  • json:要发送的JSON字符串数据。
  • url:进行POST请求的URL地址。
  • token:用于请求的认证令牌。
  • 创建请求头:
  • 初始化一个Map对象heads来存储请求头信息。
  • 必须设置的请求头:
  • "Content-Type"为"application/json;charset=UTF-8",表明发送的数据格式是JSON。
  • "Authorization"使用"Bearer "加上令牌token,用于身份验证。
  • 执行POST请求:
  • 使用HttpRequest.post方法发起POST请求,设置URL、请求头和请求体(即json参数)。
  • 设置请求超时时间为20000毫秒,并执行请求。
  • 如果请求过程中出现异常,记录错误日志并返回空字符串。
  • 返回响应体:
  • 如果请求成功,返回响应的主体内容(即服务器返回的数据)。

注意:该函数依赖某些外部库(如HttpRequest),且未明确处理响应状态码,只关注了响应体。在实际使用中,可能还需要进一步处理响应状态码等信息