Http客户端工具类-HttpUtil

    使用

    针对最为常用的GET和POST请求,HttpUtil封装了两个方法,

    GET请求栗子:

    因为Hutool-http机制问题,请求页面返回结果是一次性解析为byte[]的,如果请求URL返回结果太大(比如文件下载),那内存会爆掉,因此针对文件下载HttpUtil单独做了封装。文件下载在面对大文件时采用流的方式读写,内存中只是保留一定量的缓存,然后分块写入硬盘,因此大文件情况下不会对内存有压力。

    当然,如果我们想感知下载进度,还可以使用另一个重载方法回调感知下载进度:

    当然,工具类提供了一个更加抽象的方法:,此方法会请求URL,将返回内容写入到指定的OutputStream中。使用这个方法,可以更加灵活的将HTTP内容转换写出,以适应更多场景。

    • HttpUtil.encodeParams 对URL参数做编码,只编码键和值,提供的值可以是url附带参数,但是不能只是url
    • HttpUtil.decodeParams 两个方法是将Map参数转为URL参数字符串和将URL参数字符串转为Map对象
    • 是将URL字符串和Map参数拼接为GET请求所用的完整字符串使用

    如果想设置头信息、超时、代理等信息,请见下一章节《Http客户端-HttpRequest》。