hutool Http 工具发送POST请求的几种方式

这篇具有很好参考价值的文章主要介绍了hutool Http 工具发送POST请求的几种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       

目录

依赖

🍊Maven

🍐Gradle

实践

hutool源码

hutool调用实践

其它自定义项



        本质上,HttpUtil中的get和post工具方法都是HttpRequest对象的封装,因此如果想更加灵活操作Http请求,可以使用HttpRequest。今天咱们就列举一下hutool工具中常用的几种发送post请求的方式。

依赖

🍊Maven

maven项目添加依赖

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.16</version>
</dependency>

🍐Gradle

Gradle项目添加依赖

implementation 'cn.hutool:hutool-all:5.8.16'

实践

        通过链式构建请求,我们可以很方便的指定Http头信息和表单信息,最后调用execute方法即可执行请求,返回HttpResponse对象。HttpResponse包含了服务器响应的一些信息,包括响应的内容和响应的头信息。通过调用body方法即可获取响应内容。

hutool源码


    public static String post(String urlString, Map<String, Object> paramMap) {
        return post(urlString, paramMap, HttpGlobalConfig.timeout);
    }

    public static String post(String urlString, Map<String, Object> paramMap, int timeout) {
        return HttpRequest.post(urlString).form(paramMap).timeout(timeout).execute().body();
    }

    public static String post(String urlString, String body) {
        return post(urlString, body, HttpGlobalConfig.timeout);
    }

    public static String post(String urlString, String body, int timeout) {
        return HttpRequest.post(urlString).timeout(timeout).body(body).execute().body();
    }

hutool调用实践

1、请求参数为JsonString的case

	public static void post1() {
		String param = "{\"StartTime\":\"2023-06-07 09:42:02\",\"EndTime\":\"2023-06-07 09:42:02\",\"StartIndex\":\"0\",\"PageSize\":\"30\"}";
		String result = HttpUtil.post("http://localhost:8080/hutool/test", param);
		System.out.println(result);
	}

2、请求参数为JsonObject 在转String的case

public static void post2() {
		JSONObject param = JSONUtil.createObj();
		param.put("StartTime", "2023-06-07 09:42:02");
		param.put("EndTime", "2023-06-07 09:42:02");
		param.put("StartIndex", 0);
		param.put("PageSize", 30);
		String result = HttpUtil.post("http://localhost:8080/hutool/test", param.toString());
		System.out.println(result);
	}

3、请求参数为Map的case

	public static void post3() {
		Map<String, Object> param = new HashMap<String, Object>();
		param.put("StartTime", "2023-06-07 09:42:02");
		param.put("EndTime", "2023-06-08 09:42:02");
		param.put("StartIndex", "0");
		param.put("PageSize", "30");
		String result = HttpUtil.post("http://localhost:8080/hutool/test", param);
		System.out.println(result);
	}

4、通过链式调用的case

List<String> fls = Lists.newArrayList("document_id", "content");
			Map<String, Object> paramMap = Maps.newHashMap();
			paramMap.put("queryText", questionContent);
			paramMap.put("getRelativeScore", "true");
			paramMap.put("k", 3);
			paramMap.put("fls", fls);
			JSONObject jsonObject = JSONUtil.createObj();
			jsonObject.putAll(paramMap);
			LOGGER.info("keVecAskQuestion,body:{}", JSONUtil.toJsonStr(paramMap));
			String rpcResult = HttpRequest.post(keVecHost)
				.header("Content-Type", "application/json")
				.body(jsonObject.toString())
				.execute()
				.body();

其它自定义项

同样,我们通过HttpRequest可以很方便的做以下操作:

  • 指定请求头
  • 自定义Cookie(cookie方法)
  • 指定是否keepAlive(keepAlive方法)
  • 指定表单内容(form方法)
  • 指定请求内容,比如rest请求指定JSON请求体(body方法)
  • 超时设置(timeout方法)
  • 指定代理(setProxy方法)
  • 指定SSL协议(setSSLProtocol)
  • 简单验证(basicAuth方法)

官网地址:Hutool参考文档文章来源地址https://www.toymoban.com/news/detail-481057.html

到了这里,关于hutool Http 工具发送POST请求的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用hutool工具发送post请求

     import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil;         JSONObject jsonObject = JSONUtil.createObj();             jsonObject.put(\\\"shift\\\", \\\"D\\\");             jsonObject.put(\\\"model\\\", dataMap.get(\\\"MODEL\\\"));             jsonObject.put(\\\"stage\\\", dataMap.

    2024年02月13日
    浏览(55)
  • java发送http请求的几种方式,调用第三方接口的方法:HttpUtil、HttpURLConnection等

    参考:https://blog.csdn.net/yubin1285570923/article/details/126225347 put请求 post带请求头 get、delete类似… 使用JDK原生提供的net,无需其他jar包,代码如下: 需要用到commons-httpclient-3.1.jar,maven依赖如下: 看一下我实际应用的例子 需要用到httpclient-4.5.6.jar,maven依赖如下: RestTemplate 是由

    2024年01月18日
    浏览(54)
  • 【JavaScript】 发送 POST 请求并带有 JSON 请求体的几种方法

     在现代的前端开发中,与后端进行数据交互是必不可少的。其中,发送 POST 请求并带有 JSON 请求体是一种常见的需求。在本文中,我们将介绍在 JavaScript 中实现这一需求的几种方法。   XMLHttpRequest 是一种传统的发送网络请求的方式。以下是一个使用 XMLHttpRequest 发送 POST 请

    2024年03月19日
    浏览(63)
  • Web:前端常用的几种Http请求GET和POST样例

    1、简述 在Web开发过程中,少不了发起Http请求服务端的接口数据,在不同的框架中使用了不同的Http请求方式,常用的请求有fetch、 ajax、 axios、XMLHttpRequest、request,以下样例仅供参考。 2、Fetch Fetch API 是一种 JavaScript API,是一种基于 Promise 的现代API,用于在网络中发送和接收

    2024年02月07日
    浏览(45)
  • post请求设置表单form-data格式的几种方式

    我用默认的post方法发送数据的时候发现后端获取不到数据,然而在network中看到参数是的确传出去的了。而且用postman测试的时候也是可以的,比较了下两个的不同发现是postman使用的是form-data格式,于是用form-data格式再次请求,发现OJBK 这两种格式都是无法使用的:   方法一:

    2024年02月11日
    浏览(67)
  • HTTP请求的几种方式

    HTTP(Hypertest Transfer Protocol)是用于传输像HTML这样的超文本文件的应用层协议。它被设计用于WEB浏览器端和WEB服务端的交互,但也有其它用途。HTTP遵循经典的client-server模型,客户端发起请求尝试建立连接,然后等待服务端的应答。HTTP是无状态协议,这意味着服务端在两次请求间

    2024年02月08日
    浏览(51)
  • java使用hutool工具类发送http或者https请求太香啦

    我们使用java内置的http工具实现远程调用的时候,都是用try catch包一堆代码,巨难受,今天看见有人使用hutool工具类那是天简单了呀,具体操作如下: 1,引入依赖 2, 如果不需要设置其他什么头信息,代码: 如果是https请求直接换url里面的http就行 返回信息格式: {\\\"code\\\":200

    2024年02月14日
    浏览(36)
  • 使用hutool发送POST请求

    之前使用Java程序发送请求都是使用的HttpURLConnection,不太方便,可以使用hutool封装好的方法。 返回结果包括响应头和响应体两部分,其中响应体是后端通过@ResponseBody返回的数据;响应头包含一些其他信息,比如cookie。 hutool参考文档

    2024年02月11日
    浏览(57)
  • java业务代码发送http请求(Post方式:请求参数为JSON格式;Get方式)

    实际开发中,可能需要发送http请求到第三方服务获取数据,于是就有以下应用: 依赖: 假设我需要在我的业务代码中调用该地址: url:http://xx.xx:xxxx/user/count 请求方法:post 内容类型:application/json 请求参数:id, username 返回参数:code 响应结果 int类型                  

    2024年02月12日
    浏览(61)
  • 构造http请求的几种方式(附源码)

    博主个人社区:开发与算法学习社区 博主个人主页:Killing Vibe的博客 欢迎大家加入,一起交流学习~~ form (表单) 是 HTML 中的一个常用标签. 可以用于给服务器发送 GET 或者 POST 请求. form 的重要参数: action: 构造的 HTTP 请求的 URL 是什么. method: 构造的 HTTP 请求的 方法 是 GET 还是

    2023年04月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包