• 如何优雅发送Http请求?记录【Hutool】Hutool工具类


    记录-----优雅Http实用篇之Hutool工具类 ——HttpUtil

    更多最简单最直接的上手可以参见参考文档:Hutool Wiki_V4.1.0


    导入相关依赖

    
        cn.hutool
        hutool-all
        ${hutool-all.version}
    

    无参请求-->发送post请求

    1. String url = "http://www.sogou.com";
    2. Map paramMap = new HashMap<>();
    3. paramMap.put("query", 10086);
    4. // 无参GET请求
    5. String result = HttpUtil.get(url);
    6. // 带参GET请求
    7. 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 paramMap) {
            return HttpRequest.get(urlString).form(paramMap).execute().body();
        }

    带参请求-->发送post请求

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

    对应源码:

    /**
         * 发送post请求
         * 
         * @param urlString 网址
         * @param paramMap post表单数据
         * @return 返回数据
         */
        public static String post(String urlString, Map 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();
        }

    带form表单请求-->发送post请求

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

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

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

  • 相关阅读:
    简单、安全高效的数字文档管理解决方案让您的财务部门摆脱压力
    C#:实现SieveOfEratosthenes埃拉托斯特尼筛法寻找素数算法(附完整源码)
    JVM-满老师
    第14章总结:lambda表达式与处理
    每个人都应该去学写作
    Kotlin语言函数引用,内联函数,匿名函数,具名函数学习
    MogaFX—美元正在升值吗?价格什么时候下跌?
    在Unity中,Instantiate函数用于在场景中创建一个新的游戏对象实例
    redis缓存失效问题
    excel内容通过apache poi读取后读出来为数字,转为日期类型
  • 原文地址:https://blog.csdn.net/weixin_42415158/article/details/127710068