HttpClient——入门案例(发送http请求)

news2024/11/23 20:44:38

前言介绍

总结就是使得可以在java程序中发送http请求。

 

 导入依赖

 <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.13</version>
        </dependency>

发送get请求

用到如下的一个url,不需要参数

https://yapi.pro/mock/17601/yhy2002

每次会返回一些不同的字符串。

代码如下所示

    @Test
    void testGet() throws IOException {
        //创建httpclient对象
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //创建请求对象
        HttpGet httpGet = new HttpGet("https://yapi.pro/mock/17601/yhy2002");
        //发送请求
        CloseableHttpResponse response = httpClient.execute(httpGet);

        //获取服务端返回的状态码
        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println(statusCode);

        //获取响应数据
        HttpEntity entity = response.getEntity();
        //解析响应
        String s = EntityUtils.toString(entity);
        System.out.println(s);

                //关闭资源
        response.close();
        httpClient.close();    
    }

输出有:

 发送post请求

使用到如下的链接

https://yapi.pro/mock/17601/yhy2003

需要两个参数username,password,还有指定contentType为application/json,这里不需要指定编码格式

 @Test
    void testPost() throws IOException, JSONException {
        //创建httpclient对象
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //创建请求对象
        HttpPost httpPost = new HttpPost("https://yapi.pro/mock/17601/yhy2003");

        //将json格式参数转换字符串
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("username","yhy");
        jsonObject.put("password","123456");
        StringEntity stringEntity=new StringEntity(jsonObject.toString());

        //指定编码方式
      //  stringEntity.setContentEncoding("utf-8");
        //指定数据格式
        stringEntity.setContentType("application/json");
        //设置请求参数
        httpPost.setEntity(stringEntity);


        //发送请求
        CloseableHttpResponse response = httpClient.execute(httpPost);

        //获取服务端返回的状态码
        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println(statusCode);

        //获取响应数据
        HttpEntity entity = response.getEntity();
        //解析响应
        String s = EntityUtils.toString(entity);
        System.out.println(s);

        //关闭资源
        response.close();
        httpClient.close();
    }

输出为随机字符串

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/748574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分享电商平台美食产品—味尚拉面半干面

很高兴跟您分享电商平台上一款刚推出的热门美食产品——味尚拉面 半干面。 味尚拉面 半干面&#xff0c;由厂家精心制作而成&#xff0c;是一款十分劲道爽口的拉面&#xff0c;让您在繁忙的生活中享受到美味的口感。 作为一款电商平台上备受瞩目的产品&#xff0c;味尚拉面 半干…

​揭示嵌入式系统中的难题和解决方案

嵌入式系统设计和开发过程中存在一些常见难题&#xff0c;下面是这些难题以及相应的解决方案的简要概述。 处理资源受限&#xff1a;嵌入式系统通常具有有限的处理能力、存储容量和能源。解决方案包括&#xff1a;优化算法和数据结构&#xff0c;选择适合的硬件平台&#xff0c…

VUE2教程-基础-简介

Vue.js 是什么 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。另一…

【教程】爬取和统计Google Scholar上指定关键词的文章信息

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 目录 背景介绍 未来改进 参考代码 背景介绍 通过自动点击页面来抓取文章信息。这个脚本对于用来看某个关键词在近几年的研究趋势很有用~半自动&#xff1a;当遇到谷歌人机验证&#xff0c;需要手动完成。注意…

SAP MIRO发票过账报错 这个项目不允许输入税

SAP MIRO发票过账报错 这个项目不允许输入税 J3税额0.01为手动输入 原因是含税金额0.08 * J3对应税率&#xff0c;结果保留2位小数大小&#xff0c;系统不允许输入税额

HarmonyOS/OpenHarmony应用开发-Stage模型UIAbility组件使用(四)

UIAbility组件与UI的数据同步 基于HarmonyOS的应用模型&#xff0c;可以通过以下两种方式来实现UIAbility组件与UI之间的数据同步。 1.EventHub&#xff1a;基于发布订阅模式来实现&#xff0c;事件需要先订阅后发布&#xff0c;订阅者收到消息后进行处理。 2.globalThis&…

XSS靶场【1-10关】攻击攻略

文章目录 第一关第二关第三关第四关第五关第六关第七关第八关第九关第十关 通过&#xff08;xss-labs-master&#xff09;[]PHPStudy搭建的XSS靶场1-10关的攻击教程需要下载好XSS靶场源码&#xff0c;导入到phpstudy的WWW目录下攻击主机需要安装BurpSuit、FoxyProxy浏览器插件&…

第三十章:数据库其他调优策略

第三十章&#xff1a;数据库其他调优策略 30.1&#xff1a;数据库调优的措施 调优的目标 尽可能的节省系统资源&#xff0c;以便系统可以提供更大负荷的服务(吞吐量更大)。合理的结构设计和参数调整&#xff0c;以提高用户操作响应的速度。(响应速度更快)。减少系统的瓶颈&…

Win32汇编对话框子控件复习学习

在此已经做了Win32汇编的对话框子控件ListBox和ComboBox&#xff1b; Win32汇编ListBox最简Demo_win32 list列表_bcbobo21cn的博客-CSDN博客 Win32汇编最简ComboBox Demo_bcbobo21cn的博客-CSDN博客 它们的代码是相似的&#xff1b; 以ComboBox为例&#xff1b; 首先是要…

java 如何快速实现异步调用方法

java 如何快速实现异步调用方法 什么是异步编程CompletableFuturejava 演示 什么是异步编程 在实现异步调用之前&#xff0c;我们先了解一下&#xff0c;什么是异步编程&#xff1f;什么场景下适用等等情况。 我们都知道&#xff0c;在传统的同步编程中&#xff0c;当一个操作…

Linux——深度解析IO文件流缓冲区问题(原理详解+代码手撕)

深度剖析缓存区 1.&#x1f4ad;缓冲区介绍1.1&#x1f4ab;什么是缓冲区1.2&#x1f4ab;缓冲区有什么用1.3 &#x1f4ab;缓冲区的初步认识 2.&#x1f4ad;缓存区测试3.&#x1f951;缓冲区是谁提供的3.1测试 一下 在fork&#xff08;&#xff09;之前刷新缓冲区会怎么样&am…

avue 表单绑定值;avue表单项根据某项的值去联动显隐或是联动下拉数据;avue select切换与另外一个select的options联动

效果&#xff1a;发布type为shp时 数据相关的都隐藏&#xff0c;当发布type为postgis时则显示 1.avue表单绑定值 html <avue-form :option"option" v-model"publishForm"></avue-form> js data中定义 data() {return {publishForm: {},optio…

Go语言基础教程:变量、基本数据类型、输出、注释、运算符、if-else条件判断、函数

文章目录 一、变量的使用1.1 定义变量1.2 常量1.3 变量的赋值与内存相关 二、变量基本类型2.1 有符号整型2.2 无符号整型2.3 string类型2.4 bool类型 三、输出3.1 常用打印功能3.2 格式化输出3.3 内置输出方法与fmt的区别 四、注释五、运算符六、条件语句6.1 基本使用6.2 条件嵌…

12.7 跳转与存储器访问指令

目录 跳转指令 方式一 方式二 方式三 程序返回 ARM指令的条件码 比较指令 内存访问指令&#xff08;一&#xff09; load&#xff08;LD加载&#xff09;/srore&#xff08;ST存储&#xff09;指令&#xff1a;访问&#xff08;读写&#xff09;内存 写内存 读内存 …

leetcode:寻找数组的中心下标

寻找数组的中心下标 easy 给你一个整数数组 nums &#xff0c;请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标&#xff0c;其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端&#xff0c;那么左侧数之和视为 0 &#xff0c;因为在下标…

git bash设置字体大小

背景 git bash默认字体太小了&#xff0c;每次读信息都要伸头盯着屏幕&#xff0c;很不自在&#xff0c;不符合我的风格&#xff0c;so let’s do it&#xff01; 修改前的git bash&#xff1a; 正确的打开方式 1、在任意目录下&#xff0c;右键选择“Git Bash Here”&…

这5款能带来意想不到效果的小工具,你用过几款?

​ 有时候一些小工具&#xff0c;能给你带来一些意想不到的效果&#xff0c;我们来看看下面这5款工具&#xff0c;你又用过其中几款呢&#xff1f; 数据标注平台——Labelbox ​ Labelbox是一个数据标注平台&#xff0c;可以帮助你创建和管理高质量的训练数据&#xff0c;用于…

【新版系统架构】系统架构设计师教程全篇知识点提炼

第一章-绪论 架构的定义&#xff1a; 1、架构体现在组件中的一个系统的基本组织、彼此的关系和环境的关系及指导它的设计和发展的原则 2、系统是组织起来完成某一特定功能或一组功能的组件集 3、环境或者上下文决定了对这个系统的开发、运作、政策以及会对系统造成其他影响的…

Map集合以及它的实现类们

Map集合 Map集合的概念理解 在现实生活中&#xff0c;我们经常会碰见一对一标识的例子&#xff1a;如身份证号与个人、IP地址与主机名等。这些一一对应的关系就是映射。在Java之中也能为我们的对象添加一个“一”的对应关系—Map<K,V>集合&#xff0c;位于java.util.Ma…

113.(cesium篇)cesium卷帘分屏效果

地图之家总目录(订阅之前必须详细了解该博客) 地图之家:cesium+leaflet+echart+地图数据+地图工具等相关内容的介绍 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: cesium卷帘分屏效果 下面献上完整代码,代码重要位置会做相应解释…