1、什么是HttpClient
HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

HttpClient作用:
• 发送HTTP请求
• 接收响应数据
为什么要在Java程序中发送Http请求?有哪些应用场景呢?
HttpClient应用场景:
当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时
其实,应用程序本身并未实现这些功能,都是在应用程序里访问提供这些功能的服务,访问这些服务需要发送HTTP请求,并且接收响应数据,可通过HttpClient来实现。
2、HttpClient使用
HttpClient的maven坐标:
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency>HttpClient的核心API:
• HttpClient:Http客户端对象类型,使用该类型对象可发起Http请求。
• HttpClients:可认为是构建器,可创建HttpClient对象。
• CloseableHttpClient:实现类,实现了HttpClient接口。
• HttpGet:Get方式请求类型。
• HttpPost:Post方式请求类型。
HttpClient发送请求步骤:
• 创建HttpClient对象
• 创建Http请求对象
• 调用HttpClient的execute方法发送请求
3、代码演示
导入依赖
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency>发送get请求
1. 创建HttpClient对象
2. 创建请求对象
3. 发送请求,接受响应结果
4. 解析结果
5. 关闭资源
@SpringBootTestpublicclassHttpClientTest{/*** 测试通过httpclient发送GET方式的请求*/@TestpublicvoidtestGET()throwsException{//创建httpclient对象CloseableHttpClienthttpClient=HttpClients.createDefault();//创建请求对象HttpGethttpGet=newHttpGet("http://localhost:8080/user/shop/status");//发送请求,接受响应结果CloseableHttpResponseresponse=httpClient.execute(httpGet);//获取服务端返回的状态码intstatusCode=response.getStatusLine().getStatusCode();System.out.println("服务端返回的状态码为:"+statusCode);HttpEntityentity=response.getEntity();Stringbody=EntityUtils.toString(entity);System.out.println("服务端返回的数据为:"+body);//关闭资源response.close();httpClient.close();}}发送post请求
1. 创建HttpClient对象
2. 创建请求对象
3. 发送请求,接收响应结果
4. 解析响应结果
5. 关闭资源
/*** 测试通过httpclient发送POST方式的请求*/@TestpublicvoidtestPOST()throwsException{// 创建httpclient对象CloseableHttpClienthttpClient=HttpClients.createDefault();//创建请求对象HttpPosthttpPost=newHttpPost("http://localhost:8080/admin/employee/login");JSON json =newJSON ();json .put("username","admin");json .put("password","123456");StringEntityentity=newStringEntity(json .toString());//指定请求编码方式entity.setContentEncoding("utf-8");//数据格式entity.setContentType("application/json");httpPost.setEntity(entity);//发送请求CloseableHttpResponseresponse=httpClient.execute(httpPost);//解析返回结果intstatusCode=response.getStatusLine().getStatusCode();System.out.println("响应码为:"+statusCode);HttpEntityentity1=response.getEntity();Stringbody=EntityUtils.toString(entity1);System.out.println("响应数据为:"+body);//关闭资源response.close();httpClient.close();} 继续阅读与本文标签相同的文章
上一篇 :
在.NET中正确使用HttpClient的方式
下一篇 :
这几个高级爬虫软件真的强!
-
性能优化之卡顿延迟
2026-05-14栏目: 教程
-
第16问:Filecoin从DSN角度解读
2026-05-14栏目: 教程
-
C/C+从零基础到精通,究竟是如何快速完成的?其实只需要这6步!
2026-05-14栏目: 教程
-
谷歌再爆重大安全漏洞!华为却成最大赢家?网友:这谁还敢用!
2026-05-14栏目: 教程
-
Excel崩溃文件如何找回
2026-05-14栏目: 教程
