java开发hutool HttpUtil网络请求工具使用demo
更新时间:2023年07月09日 14:31:00 作者:AC编程
这篇文章主要为大家介绍了hutool之HttpUtil网络请求工具使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
一、测试代码
import cn.hutool.core.text.UnicodeUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.google.gson.Gson; import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; import java.util.Map; @Slf4j public class Test { public static void main(String[] args) { requestToken(); } public static String requestToken() { try { String url = "https://alanchen.com/auth/getToken/V2"; HttpRequest request = HttpUtil.createPost(url); request.header("PartnerCode", "testCode"); Map<String, String> param = new HashMap(); param.put("partnerCode", "testCode"); param.put("partnerSecret", "secret"); Gson gson = new Gson(); String body = gson.toJson(param); request.body(body); HttpResponse execute = request.execute(); if (!execute.isOk()) { log.error("请求token失败,body={},execute={}", execute.body(), execute); throw new RuntimeException(execute.body()); } String res = UnicodeUtil.toString(execute.body()); JSONObject jsonObject = JSONUtil.parseObj(res, true); AuthTokenResResult resultObj = jsonObject.toBean(AuthTokenResResult.class, true); log.info("requestToken,resultObj={}", resultObj); if (resultObj.getCode() != 200) { log.error("获取token失败,code={},msg={},result={}", resultObj.getCode(), resultObj.getMsg(), resultObj); throw new RuntimeException("获取token失败,code=" + resultObj.getCode() + ",msg=" + resultObj.getMsg()); } if (resultObj.getData() == null) { log.error("获取token为空,code={},msg={},result={}", resultObj.getCode(), resultObj.getMsg(), resultObj); throw new RuntimeException("获取token为空,code=" + resultObj.getCode() + ",msg=" + resultObj.getMsg()); } return resultObj.getData().getToken(); } catch (Exception e) { log.error("requestToken失败,msg={}", e.getMessage()); e.printStackTrace(); throw new RuntimeException(e.getMessage()); } } @Data public class AuthTokenResResult { private int code; private String msg; private AuthToken data; private long count; } @Data public class AuthToken { private String token; private long expireAt; } }
二、代码片段
// 设置请求体参数 String requestBody = "{\"param1\": \"value1\", \"param2\": \"value2\"}"; httpRequest.body(requestBody) .setHeader("Content-Type", "application/json") .timeout(20000); // 设置超时时间为20秒 // 设置请求参数 httpRequest.setQueryParam("param1", "value1") .setHeader("User-Agent", "Hutool") .timeout(20000); // 设置超时时间为20秒
以上就是java开发hutool HttpUtil网络请求工具使用demo的详细内容,更多关于hutool HttpUtil网络请求的资料请关注脚本之家其它相关文章!
相关文章
详解Spring注解@Autowired的实现原理和使用方法
在使用Spring开发的时候,配置的方式主要有两种,一种是xml的方式,另外一种是 java config的方式,在使用的过程中,我们使用最多的注解应该就是@Autowired注解了,所以本文就给大家讲讲@Autowired注解是如何使用和实现的,需要的朋友可以参考下2023-07-07springboot全局异常处理方式@ControllerAdvice和@ExceptionHandler
文章总结了个人在处理全局异常处理时的经验,包括使用`StatusEnum`来定义状态码,旨在为读者提供参考,并鼓励大家支持脚本之家2024-11-11
最新评论