HttpUtil工具类的参数是什么
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关HttpUtil工具类的参数是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。调用方工具类及测试类,支持URL及JSON
千家信息网最后更新 2026年11月02日HttpUtil工具类的参数是什么
这篇文章将为大家详细讲解有关HttpUtil工具类的参数是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
调用方工具类及测试类,支持URL及JSON同时传递参数
package com.example.demo.util;import org.apache.http.NameValuePair;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import org.apache.http.entity.ContentType;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Map.Entry;/** * Http调用工具类 * * @author zkyong * @date 2019-07-02 15:22:22 * @version v0.1 */public class HttpUtil { public static final String UTF_8 = "UTF-8"; /** * 发送post请求 * * @param url URL地址 * @param socketTimeout 建立scoket连接超时时间 * @param connectTimeout 建立数据传输连接超时时间 * @param headers 请求头参数 * @param params 请求参数 * @param json 请求体(json)参数 * @return String 响应报文 * @throws Exception 异常 */ public static String sendPost(String url, int socketTimeout, int connectTimeout, Map headers, Map params, String json) throws Exception { // URL处理: 请求参数拼接到URL中传递 if (null != params && params.size() != 0) { List list = new ArrayList<>(); for (Entry entry : params.entrySet()) { list.add(new BasicNameValuePair(entry.getKey(), String.valueOf(entry.getValue()))); } String uri = EntityUtils.toString(new UrlEncodedFormEntity(list, UTF_8)); if (uri != null) { url = url.contains("?") ? (url + "&" + uri) : (url + "?" + uri); } } // 构建请求: HttpPost HttpPost post = new HttpPost(url); RequestConfig config = RequestConfig.custom() .setSocketTimeout(socketTimeout) .setConnectTimeout(connectTimeout) .setConnectionRequestTimeout(connectTimeout) .build(); post.setConfig(config); // 设置请求头: Header if (null != headers && headers.size() != 0) { for (Map.Entry entry : headers.entrySet()) { post.addHeader(entry.getKey(), entry.getValue()); } } // 设置请求体: HttpEntity if (null != json && !"".equals(json.trim())) { post.setEntity(new StringEntity(json, ContentType.APPLICATION_JSON)); } // 调用并返回结果 CloseableHttpClient client = null; CloseableHttpResponse response = null; try { client = HttpClients.createDefault(); response = client.execute(post); return EntityUtils.toString(response.getEntity(), UTF_8); } finally { if (response != null) { response.close(); } if (client != null) { client.close(); } } }} package com.example.demo.util;import java.util.HashMap;import java.util.Map;import org.junit.Test;/** * Http调用工具测试类 * * @author zkyong * @date 2019-07-02 15:23:10 * @version v0.1 */public class HttpUtilTest { @Test public void test01() throws Exception { String url = "http://localhost:8080/hello"; String json = "{\"hello\":\"wellcome\", \"name\":\"zhangsan\"}"; int socketTimeout = 120 * 1000; int connectTimeout = 120 * 1000; Map params = new HashMap<>(); params.put("p1", "param01"); params.put("p2", "param02"); params.put("p3", "param03"); params.put("p4", "param04"); Map headers = new HashMap<>(); headers.put("Content-Type", "application/json"); String response = HttpUtil.sendPost(url, socketTimeout, connectTimeout, headers, params, json); System.out.println("=================================================="); System.out.println(response); }} 被调用方:
package com.example.demo.web;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import com.example.demo.request.HelloDemoRequest;/** * HelloWorld Demo Web层 * * @author zkyong * @date 2019-07-02 15:26:21 * @version v0.1 */@RestControllerpublic class HelloRestController { @RequestMapping(value = "/hello", method = RequestMethod.POST) public String hello(HttpServletRequest request, HttpServletResponse response, @RequestBody HelloDemoRequest body, String p1, String p2, String p3, String p4) { System.out.println("enter the hello method!"); return body.getHello() + " " + body.getName() + ", params : p1=" + p1 + ",p2=" + p2 + ",p3=" + p3 + ",p4=" + p4; }}package com.example.demo.request;/** * HelloWorld Demo 请求类 * * @author zkyong * @date 2019-07-02 15:01:15 * @version v0.1 */public class HelloDemoRequest { String hello; String name; public String getHello() { return hello; } public void setHello(String hello) { this.hello = hello; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "HelloDemoRequest [hello=" + hello + ", name=" + name + "]"; }}关于HttpUtil工具类的参数是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
参数
工具
内容
文章
时间
更多
知识
篇文章
测试
不错
同时
地址
报文
数据
数据传输
结果
质量
UTF-8
传输
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
南京欣网互联网络科技
期待互联网科技
贷财互联网科技
北京互联网络科技有限公司
互联网金融科技平台
互联网科技小额贷款
金融科技和互联网金融
互联网巨头投资的硬核科技
安控科技rtu产品工业互联网
银川新华互联网科技职业技术培训学校图片
栖莱科技互联网股份有限公司
速维有品互联网信息科技(苏州)有限公司
用友工业互联网科技发展
互联网科技企业商标注意事项
互联网科技收购价值
马化腾互联网科技教学
科技互联网公司两年变化
亚光科技低轨卫星互联网
平安好医生打造互联网科技医疗
互联网科技巨头监管
互联网高科技股票
佰商互联网科技有限公司
济南和联互联网科技有限公司
互联网与数字科技关系
陕西云淼互联网科技公司
互联网科技手机排行榜
青岛易易互联网科技
互联网科技大佬云集
瑞安市蟠桃会互联网科技有限公司