快速掌握HttpClient(httpclient使用实例)

HttpClient

HttpClient可以用来提供高效的,最新的,功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议

就是在java中可以模拟客户端发送请求

其中通过几个核心的API完成功能:
HttpClient,HttpClients,CloseableHttpClient,HttpGet,HttpPost

使用

第一步:导入依赖

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

其中CloseableHttpClient是HttpClient的实现类,HttpClient是一个接口

  • 发送GET方式请求的步骤
  1. 创建HttpClient对象
  2. 创建Http请求对象
  3. 调用HttpClient的execute方法发送请求
    @Test
    public void  test() throws Exception{
        //创建HttpClient对象
        //其中CloseableHttpClient是HttpClient的实现类,HttpClient是一个接口
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //创建请求对象
        HttpGet httpGet = new HttpGet("http://localhost:8080/user/shop/status");
        //发送请求
        CloseableHttpResponse execute = httpClient.execute(httpGet);
        //获取服务端返回的状态码
        int statusCode = execute.getStatusLine().getStatusCode();
        System.out.println("服务端返回的状态码:"+statusCode);
        //获取数据实体
        HttpEntity entity = execute.getEntity();
        //整合到了自带的数据实体中,我们可以通过HttpEntityUtils进行解析
        String string = EntityUtils.toString(entity);
        System.out.println("服务端返回的数据为"+string);
        //关闭资源
        execute.close();
        httpClient.close();
    }

  • 发送POST请求方式的步骤
  1. 创建HttpClient对象
  2. 创建Http请求对象
  3. 调用HttpClient的execute方法发送请求
    @Test
    public void testpost() throws Exception{
        //创建HttpClient对象
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //创建请求对象
        //创建请求体,利用阿里巴巴的fastjson
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("username","admin");
        jsonObject.put("password","123456");
        HttpPost httpPost = new HttpPost("http://localhost:8080/admin/employee/login");
        //将创建的json数据引入到Entity对象当中去
        StringEntity entity=new StringEntity(jsonObject.toString());
        httpPost.setEntity(entity);
        //指定传进来的请求的编码方式
        entity.setContentEncoding("utf-8");
        //指定传输的数据格式,指定传过来的请求是json格式,后端才能够进行解析
        entity.setContentType("application/json");
        //发送请求
        CloseableHttpResponse execute = httpClient.execute(httpPost);
        //解析返回结果
        int statusCode = execute.getStatusLine().getStatusCode();
        System.out.println("响应码为:"+statusCode);
        HttpEntity entity1 = execute.getEntity();
        String string = EntityUtils.toString(entity1);
        System.out.println("响应的数据为:"+string);
        //关闭资源
        execute.close();
        httpClient.close();
    }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024上半年软考机考新政策:科目连考、分批次考试

辽宁省信息技术教育中心发布了《关于2024年上半年计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试批次安排的通知》。 该通知明确了2024上半年软考辽宁考区的考试时间、考试方式、考试批次安排&#xff0c;与2023下半年软考机考形式有多处调整。 1、考试时间&am…

vtk教程:禁止VTK弹出警告窗口warning

在使用VTK&#xff08;Visualization Toolkit&#xff09;进行可视化操作时&#xff0c;有时候会弹出警告窗口&#xff08;warning messages&#xff09;&#xff0c;这些警告可能是由于数据问题或是API使用不当等原因触发的。 如果你希望在使用VTK时禁用这些警告窗口&#xff…

【微信小程序开发】微信小程序注册,配置开发者工具

准备工作 微信小程序小程序开发流程 开发过程注册小程序开发者工具开发界面介绍 微信小程序 一种新的开发能力&#xff0c;可以在微信内被便捷的获取和传播&#xff0c;具有出色的用户体验 地址&#xff1a;https://mp.weixin.qq.com/ 注册微信小程序 在进行开发之前我们应该…

09 华三 SSH

03 华三SSH 远程登录 1 AI解说官网 Kimi.ai - 帮你看更大的世界 (moonshot.cn) 华三交换机的SSH配置主要目的是通过SSH协议实现安全的远程登录和管理&#xff0c;以确保数据传输的安全性。以下是配置SSH的一般步骤和思路&#xff1a; 生成密钥对&#xff1a;首先需要在交换…

【重要】MThings V0.6.3更新要点

我们听到了您的声音并采取了行动&#xff01;现在为您提供了一次全面的软件升级&#xff0c;让您的体验更加顺畅、稳定和安全。立即更新&#xff0c;畅享新功能&#xff01; 下载地址&#xff1a; http://gulink.cn/download 重要通知&#xff1a; 摩尔信使MThings即将发布全新…

从ChatGPT革命性的对话系统,看人机交互模式6个阶段的演变

ChatGPT引领革命&#xff0c;看人机交互六步飞跃 ©作者|wy 来源|神州问学 引言 在科技的浪潮中&#xff0c;人机交互模式不断演进&#xff0c;从最初的简单指令输入到如今的智能对话系统&#xff0c;每一次革新都昭示着人类与机器交流方式的深刻变革。ChatGPT&#xff0…

小吉/希亦/鲸立内衣洗衣机怎么样?深度测评谁更好用!

内衣洗衣机是近几年新兴的家电产品&#xff0c;以清洁效果好、除菌能力强&#xff0c;被很多人种草入手了&#xff01;但网上有不少人虽感兴趣&#xff0c;但不清楚如何选。担心买到质量差&#xff0c;清洗不干净的产品。作为一名家电测评博主&#xff0c;我今天特意围绕被问最…

[AIGC] 事务的四大特性是怎么实现的

文章目录 原子性是通过 undo log实现的。一致性是通过 redo log实现的。隔离性的实现 &#xff08;分事务的隔离级别讨论&#xff09;持久性是利用 redo log 实现的 写入过程 原子性是通过 undo log实现的。 事务的所有 修改操作 (增、删、改)的相反操作都会写入undo log, 比如…

电脑快捷键怎么设置?记好这3个设置方法!

“作为一个职场小白&#xff0c;我对很多快捷键的应用都不是很熟悉&#xff0c;这导致我工作效率总是很低&#xff0c;大家平常在使用电脑时有什么比较好用的电脑快捷键设置方法给我推荐一下吗&#xff1f;” 在数字化时代&#xff0c;电脑已成为我们日常生活和工作的必备工具。…

基于Java.Web框架React、Vue.js技术开发的一套(C#医院体检系统成品源码、支持二开)

医院体检系统是一种专为体检中心/医院体检科等体检机构开发的全流程管理系统。该系统通过软件实现检测仪器数据的自动提取&#xff0c;内置多级医生工作台&#xff0c;细化工作并将体检检查结果汇总&#xff0c;生成体检报告登记到计算机系统中。此外&#xff0c;该系统还能进行…

什么是水经微图网络加密锁?

水经微图&#xff0c;以下简称“微图”。 我们在《什么是水经微图加密锁&#xff1f;》一文中&#xff0c;为你分享了什么是微图加密锁&#xff0c;以及其使用的方法。 现在&#xff0c;我们再为你分享什么是网络加密锁&#xff0c;以及其使用的方法。 什么是网络加密锁&…

微服务---feign调用服务

目录 Feign简介 Feign的作用 Feign的使用步骤 引入依赖 具体业务逻辑 配置日志 在其它服务中使用接口 接着上一篇博客&#xff0c;我们讲过了nacos的基础使用&#xff0c;知道它是注册服务用的&#xff0c;接下来我们我们思考如果一个服务需要调用另一个服务的接口信息&…

RAG进阶(二): RAG 融合(rag fusion)

在上一篇博客中&#xff0c;我们学习了多重查询(Multi Query)技术&#xff0c;Multi Query的基本思想是当用户输入查询语句(自然语言)时&#xff0c;我们让大模型(LLM)基于用户的问题再生成多个查询语句&#xff0c;这些生成的查询语句是对用户查询语句的补充&#xff0c;它们是…

计算机毕业设计 | vue+springboot 在线花店后台管理系统(附源码)

1&#xff0c;绪论 1.1 项目背景 随着社会发展&#xff0c;网上购物已经成为我们日常生活的一部分。但是&#xff0c;至今为止大部分电商平台都是从人们日常生活出发&#xff0c;出售都是一些日常用品比如&#xff1a;食物、服装等等&#xff0c;并未发现一个专注于鲜花的电商…

BSC链震撼登场:X314暴涨500倍

在Solana链上疯狂的“狗币”行情落下帷幕后&#xff0c;链上的最新热点再次来到了BSC链上。此次&#xff0c;BSC链上出现了备受关注的新协议&#xff0c;据说这是继Ordinals协议之后的又一创新之作。该协议被誉为现象级产品&#xff0c;自推出以来涨幅已达500倍&#xff0c;但其…

C补充1—1章1.0—C程序语言设计(许宝文,李志)

二手书到了&#xff0c;好消息&#xff0c;前主人看的很认真&#xff0c;坏消息&#xff0c;只看到这页了 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊最后几题好难啊啊啊啊啊&#xff0c;再议 目录 1.1 入门 1.2 变量与算数表达式 练习1-3 //打印温度对照表 练习1-4 //摄氏-华氏温…

古墓丽影年度版喜加一 亚马逊免费游戏领取教程+下载安装教程

最近我们的老朋友亚马逊平台又为玩家们带来了一款免费的3A大作&#xff0c;这款游戏作为古墓丽影的续作在全球范围内都有着很高的热度和评价。但是许多玩家不知道这款游戏该如何领取&#xff0c;下面小编就为大家带来详细教程。 在领取之前&#xff0c;我们一定要优化我们的网…

【Js逆向】某博反爬机制的逆向分析

相信很多接触过爬虫的师傅&#xff0c;在对某博进行请求的时候&#xff0c;发现某博是会对cookie校验的&#xff0c;而我们在模拟操作的时候&#xff0c;是直接把浏览器的cookie进行copy&#xff0c;虽然我没有测试过这个cookie的有效期&#xff0c;但我觉得这样只适合日常测试…

LNMP一键安装包

LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQ…

亚马逊云科技产品测评:玩转云服务器(EC2)

文章目录 &#x1f4d1;引言一、亚马逊发展历史介绍二、云服务器资源地域分布三、云服务器实例规格四、EC2计费模式五、亚马逊免费EC2领取 &#x1f4d1;引言 亚马逊&#xff1a;世界上最大的云服务器提供商 亚马逊云科技 是由亚马逊公司提供的一系列云计算服务。它提供了弹性计…
最新文章