• 如何优雅发送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等参见源码

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

  • 相关阅读:
    【HMS Core】集成地图服务不显示地图问题
    零基础小白学Node-RED(04):仪表板
    [机器学习]西瓜书&南瓜书学习(更新中)
    【配电网规划】配电网网架重构、DG位置选择容量配置(Matlab代码实现)
    QT: QChart柱状图和曲线图实现
    基于docker commit和Dockerfile为镜像添加ssh服务
    杰夫 · 迪恩:《深度学习的黄金十年:计算系统与应用》
    Spring 的事务实现方式有哪些?
    ChatGLM-6B+LangChain与训练及模型微调教程
    Windows Server 2012 R2修复CredSSP 远程执行代码漏洞(CVE-2018-0886)
  • 原文地址:https://blog.csdn.net/weixin_42415158/article/details/127710068