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),且未明确处理响应状态码,只关注了响应体。在实际使用中,可能还需要进一步处理响应状态码等信息