最简单最直接的上手可以参见参考文档http://hutool.mydoc.io/?t=216015

   Http协议的介绍,请参考web随笔http://www.cnblogs.com/jiangbei/p/6681215.html

   受够了的HttpClient?那Hutool的HttpUtil值得一试!

一、HttpUtil 

   快读使用:

      发送get请求,包括有参与无参 

        示例:

 String url = "http://www.sogou.com";
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("query", 10086);
// 无参GET请求
String result = HttpUtil.get(url);
// 带参GET请求
String result2 = HttpUtil.get(url, paramMap);

        对应源码:

/**
* 发送get请求
*
* @param urlString 网址
* @return 返回内容,如果只检查状态码,正常只返回 "",不正常返回 null
*/
public static String get(String urlString) {
return HttpRequest.get(urlString).execute().body();
} /**
* 发送get请求
*
* @param urlString 网址
* @param paramMap post表单数据
* @return 返回数据
*/
public static String get(String urlString, Map<String, Object> paramMap) {
return HttpRequest.get(urlString).form(paramMap).execute().body();
}

      发送post请求

        这里直接引用文档的示例:

HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("city", "北京");
String result= HttpUtil.post("https://www.baidu.com", paramMap); //文件上传只需将参数中的键指定(默认file),值设为文件对象即可,对于使用者来说,文件上传与普通表单提交并无区别
paramMap.put("file", FileUtil.file("D:\\face.jpg"));
String result= HttpUtil.post("https://www.baidu.com", paramMap);

      对应源码:

/**
* 发送post请求
*
* @param urlString 网址
* @param paramMap post表单数据
* @return 返回数据
*/
public static String post(String urlString, Map<String, Object> paramMap) {
return HttpRequest.post(urlString).form(paramMap).execute().body();
} /**
* 发送post请求
*
* @param urlString 网址
* @param params post表单数据
* @return 返回数据
*/
public static String post(String urlString, String params) {
return HttpRequest.post(urlString).body(params).execute().body();
}

二、HttpRequest与HttpResponse

  不满足于高度化的工具类封装,想拥有更多自定义请求与响应处理,可以使用HttpRequest与HttpResponse

  快速上手:

String result2 = HttpRequest.post(url)
.header(Header.USER_AGENT, "Hutool http")
.form(paramMap)
.execute().body();

  // 包括封装的一些常量Header Status等参见源码

  其它自定义项如下图所示:

  

    HttpResponse的处理不再赘述

【Hutool】Hutool工具类之Http工具——HttpUtil的更多相关文章

  1. Java json工具类,jackson工具类,ObjectMapper工具类

    Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...

  2. Property工具类,Properties文件工具类,PropertiesUtils工具类

    Property工具类,Properties文件工具类,PropertiesUtils工具类 >>>>>>>>>>>>>& ...

  3. 视图家族之mixins视图工具类与generics工具视图类

    视图家族之mixins视图工具类与generics工具视图类 一.mixins视图工具类 作用: 提供了几种后端视图(对数据资源进行曾删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通 ...

  4. 【Hutool】Hutool工具类之随机工具——RandomUtil

    commons-lang中对应也有RanddomUtils.RandomStringUtils 直接从类结构开始入手: 基本都是见名知意了,就不一一展开:点开源码可以看到算是比较通俗易懂的对Rando ...

  5. Arrays工具类和Collections工具类

    集合知识点总结 Arrays工具类 .binarySearch() .sort() .fill() //填充 int[] array = new int[10]; Arrays.fill(array, ...

  6. Java工具类- 跨域工具类

    原本Spring MVC项目添加跨域: 在web.xml文件中配置: <!-- cors解决跨域访问问题 --> <filter> <filter-name>cor ...

  7. 工具类之数据库工具类:DBUtil(採用反射机制)

    常常操作数据库的码农们一定知道操作数据库是一项非常复杂的工作.它不仅要解决各种乱码的问题还要解决各种数据表的增删改查等的操作. 另外每次操作数据库都要用到数据库连接.运行SQL语句.关闭连接的操作.所 ...

  8. Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)

    集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...

  9. 实用的 集合工具类 和 String工具类

    集合工具类:CollectionUtil method: 1.isNotEmpty() 不为空 2.isEmpty() 为空 举例:map集合         Map<String,String ...

随机推荐

  1. January 17 2017 Week 3 Tuesday

    You can't shake hands with a clenched fist. 紧握拳头你就无法与他人握手. If you want to shake hands with others, j ...

  2. .net 流(Stream) - StreamWriter和StreamReader、BinaryReader和BinaryWriter

    转自:http://www.oseye.net/user/kevin/blog/86 一.StreamWriter和StreamReader 从上一篇博文可知文件流.内存流和网络流操作的都是字节,每次 ...

  3. 【海龟汤策略】反趋势交易策略源代码分享(基于BOTVS)

    策略介绍: 海龟之汤,简称“龟汤”,是个与海龟交易法则相反的交易策略,它利用了跟势交易(特别是海龟方式)在很多假突破方面的缺陷来获利(把海龟做成汤吃掉).上世纪八十年代早期,有个非常著名的交易员团体— ...

  4. Shodan搜索引擎介绍

    from:http://www.exploit-db.com/wp-content/themes/exploit/docs/33859.pdf 0x00 概要 这篇文章可以作为渗透测试人员和安全工作者 ...

  5. Java实现身份证号码验证源码分享

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  6. Linux学习总结(十四) 文件的打包和压缩

    文件的压缩和打包,在windos下我们很熟悉.rar和.zip文件,这是两种压缩文件,他们支持单个文件和多个文件的压缩.windos下我们不提及打包的概念,虽然多个文件的压缩肯定存在打包过程.打包和压 ...

  7. 安装最新版的wampserver,可以兼容php5和php7

    本文介绍的wamp是Windows+Apache+MySQL+PHP+phpMyAdmin,主要应用于开发环境[一键安装包,简单好用]. 这是运行在Windows系统下的官方安装包,可以快速的搭建属于 ...

  8. springboot之静态资源路径配置

    静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取. 在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classp ...

  9. Css3 实现关键帧动画

    <div class="person"> </div> <script> var str1 = "@keyframes move{&q ...

  10. mybatics之trim

    1.<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=&quo ...