位置: IT常识 - 正文

Http请求-hutool工具类的使用

编辑:rootadmin
Http请求-hutool工具类的使用 Http请求-hutool工具类的使用前言

推荐整理分享Http请求-hutool工具类的使用,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在日常java后端开发的工作中经常会遇到后端发起HTTP请求的情况,这里可以使用一个简单的工具类。

官方网址:Http请求-HttpRequest (hutool.cn)

介绍

本质上,HttpUtil中的get和post工具方法都是HttpRequest对象的封装,因此如果想更加灵活操作Http请求,可以使用HttpRequest。

Http请求-HttpRequest的使用普通表单

我们以POST请求为例:

//链式构建请求 String result2 = HttpRequest.post("www.baidu.com") .header(Header.USER_AGENT, String.valueOf(ContentType.FORM_URLENCODED))//头信息,多个头信息多次调用此方法即可 .form("paramMap")//表单内容 .timeout(20000)//超时,毫秒 .execute().body(); Console.log(result2);

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

看到这里你可能就会有些疑问了,那这个==.header()==是什么呢? 里面的参数又是什么呢?该如何设置呢?别着急听我慢慢道来。

科普+学习

首先让我们到postman看看这些,下面就header的内容了,header顾名思义就是http的请求头。用于携带一些请求格式的定义信息。

Http请求-hutool工具类的使用

再让我们看看==Header.USER_AGENT, String.valueOf(ContentType.FORM_URLENCODED)==都是什么吧?

Header源码:

ContentType源码:

通过hutool的源码我们可以看到,Header的本质就是一个枚举类,而我们只是拿其中已经定义好的枚举值而已,而这些枚举值就是,我们常用的一些http的请求头所需要的参数。到这里你应该也明白了,ContentType.FORM_URLENCODED就是我们所需要携带的http请求头参数的值,hutool这里也只是将它封装为一个枚举类方便调用罢了

Restful请求String json = ...;String result2 = HttpRequest.post(url) .body(json) .execute().body();配置代理

如果代理无需账号密码,可以直接:

String result2 = HttpRequest.post(url) .setHttpProxy("127.0.0.1", 9080) .body(json) .execute().body();

如果需要自定其他类型代理或更多的项目,可以:

String result2 = HttpRequest.post(url) .setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port)) .body(json) .execute().body();

如果遇到https代理错误Proxy returns "HTTP/1.0 407 Proxy Authentication Required",可以尝试:

System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");Authenticator.setDefault( new Authenticator() { @Override public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(authUser, authPassword.toCharArray()); } });其它自定义项

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

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

HttpResponse是HttpRequest执行execute()方法后返回的一个对象,我们可以通过此对象获取服务端返回的:

Http状态码(getStatus方法)返回内容编码(contentEncoding方法)是否Gzip内容(isGzip方法)返回内容(body、bodyBytes、bodyStream方法)响应头信息(header方法)使用

此对象的使用非常简单,最常用的便是body方法,会返回字符串Http响应内容。如果想获取byte[]则调用bodyBytes即可。

获取响应状态码HttpResponse res = HttpRequest.post(url)..execute();Console.log(res.getStatus());获取响应头信息HttpResponse res = HttpRequest.post(url)..execute();//预定义的头信息Console.log(res.header(Header.CONTENT_ENCODING));//自定义头信息Console.log(res.header("Content-Disposition"));st(url)..execute();//预定义的头信息Console.log(res.header(Header.CONTENT_ENCODING));//自定义头信息Console.log(res.header("Content-Disposition"));
本文链接地址:https://www.jiuchutong.com/zhishi/284113.html 转载请保留说明!

上一篇:华为路由器怎么做普通密码Telnet认证(华为路由器怎么设置wifi密码)

下一篇:EasyExcel使用与步骤

  • 增值税结转会计科目
  • 增量留抵税额怎么做分录
  • 入账成本会计分录
  • 扣缴义务人是否可以领税务发票,是否可以正常申报
  • 买一送一的营销好处
  • 试用期社保是按照应发工资缴纳吗
  • 会计凭证的保管期限为多少
  • 公司工资发放错误怎么退回
  • 报税没有报怎么办
  • 生育津贴报销流程是怎么样的要去社保局问吗
  • 销售折让的税收分类编码
  • 长期股权投资涉及或有对价的帐务处理
  • 农产品收购发票怎么做账
  • 分类所得申报要申报吗
  • 营改增后小规模纳税人如何报税
  • 现金折扣发票如何开具
  • 一次还本付息摊余成本计算公式
  • 收到认证费用计入什么科目
  • 财务计提个人缴纳社保部分怎么记账?
  • 应付的工资属于什么科目
  • 咨询费的税费
  • 投资性房地产的后续计量从成本模式转为公允价值模式的
  • 跨月退款会计分录
  • 经营租入的土地使用权 待摊
  • 购买原材料的运费属于什么费用
  • windows安装程序无法配置在硬件上
  • 非正常损失的进项税额如何计算
  • 超市发购物卡给员工会计分录
  • 一般纳税人出租其2016年4月30日前取得的不动产
  • 闲置设备怎么处理
  • linux运行后出现乱码
  • 文化事业建设费减免政策
  • win10任务栏快捷图标不见了
  • iis搭建php环境
  • PHP:pcntl_get_last_error()的用法_PCNTL函数
  • 赔付支出有哪些
  • 个人签订借款合同
  • 网络分割算法
  • 简要说说vue是什么?有什么主要的特性?
  • 管家婆中已经过账的进货单怎么删除?
  • 航天信息服务费的会计分录
  • 今年利润弥补以前年度亏损如何记账
  • 人工安装费是几个点税税率
  • 本期应补退税额为负数怎么申报
  • 专票和普票都是13个点嘛
  • 劳动报酬收入包含什么
  • 应交税费在会计科目的借贷方向
  • 什么是明细分类帐
  • 应收业务处理流程
  • 工程造价咨询服务费收费标准
  • 跨年银行回单怎么入账
  • 增值税销项税额属于什么科目
  • 债权投资是什么会计科目
  • 免租期租金可以追回吗
  • 企业用地手续办理流程
  • 车船税缴纳后有发票吗
  • 酒店开办费包括哪些项目
  • 贷款利息天数怎么算的
  • 年末结账与财务的关系
  • mysql中的存储过程
  • 配置是什么意思
  • MySql 5.6.14 Win32位免安装解压缩版配置教程
  • win8系统怎样查看本机的ip地址
  • 电脑右下角windows设置在哪
  • win8开启快速启动
  • 苹果mac浏览器
  • mac安装win10系统后怎么关掉f1快捷键
  • Win10 Mobile 10586.71截图曝光 修复已知问题
  • js经典案例代码大全
  • node.js中实现同步操作的3种实现方法
  • js移动元素位置
  • shell脚本定时执行命令
  • js浏览器运行机制
  • js封装是什么意思
  • 广西公安厅有几个处长
  • 开发区税务局咨询电话
  • 一般纳税人简易征收会计分录
  • 国税总局编制这次怎么调整
  • 湖南兴广地税务师事务所有限公司(兴广集团有限公司)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设