当前位置: 首页 > news >正文

毕业设计可以做哪些网站上海企业招聘网

毕业设计可以做哪些网站,上海企业招聘网,企业融资案例,国际交流合作网站建设方案目录 一、概述 二、HttpClient依赖介绍 1.导入HttpClient4依赖 2.或者导入HttpClient5依赖 3.二者区别 三、HttpClient发送Get请求和Post请求测试 (一)通过HttpClient发送Get请求 (二)通过HttpClient发送Post请求 一、概述 HttpClient是 Apache 软件基金会提供的一…

目录

一、概述 

二、HttpClient依赖介绍 

1.导入HttpClient4依赖 

2.或者导入HttpClient5依赖

3.二者区别

三、HttpClient发送Get请求和Post请求测试 

(一)通过HttpClient发送Get请求

 (二)通过HttpClient发送Post请求 


一、概述 

        HttpClient是 Apache 软件基金会提供的一个用于 Java 应用程序的 HTTP 协议访问库。它提供了强大的功能来处理 HTTP 请求和响应,支持同步和异步通信、连接池管理、cookie管理、SSL/TLS加密等特性。从Java 11开始,标准Java库中也引入了一个新的HttpClient实现,这为开发者提供了原生的支持。 

核心API

HttpClient

HttpClients

CloseableHttpClient

HttpGet

HttpPost

发送请求步骤:

创建HttpClient对象

创建Http请求对象

调用HttpClientexecute方法发送请求

二、HttpClient依赖介绍 

1.导入HttpClient4依赖 

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

依赖说明:

  • 第四代HttpClient:这是HttpClient的一个较老但仍然广泛使用的版本,被称为HttpClient 4。尽管它没有HttpClient 5中的一些现代化特性,但它非常稳定,并且有大量的文档和支持。
  • 特点
    • 提供了丰富的功能集来处理各种HTTP操作。
    • 广泛应用于现有的许多Java应用程序中。
    • 良好的向后兼容性。
  • 维护状态:虽然官方仍在为该版本提供关键的安全修复,但它已进入维护模式,意味着主要的新功能开发已经转向HttpClient 5。 

        另外,如果你的项目中使用了阿里云OSS对象存储,那么上面的依赖不需要导入,因为阿里云OSS依赖底层调用的就是HttpClient

 

<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version>
</dependency>

2.或者导入HttpClient5依赖

<dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifactId><version>5.2.1</version> <!-- 确保使用最新版本 -->
</dependency>

依赖说明 

  • 第五代HttpClient:这是Apache HttpClient项目的最新一代,通常称为HttpClient 5。它旨在提供改进的性能、更好的异步支持和更现代的API。
  • 新特性与改进
    • 支持HTTP/2。
    • 更好的异步请求处理能力。
    • 改进的连接管理和资源管理。
    • 更清晰的API设计,便于理解和使用。
  • 维护状态:这是一个活跃开发中的版本,推荐用于新的项目或者需要利用其新增特性的场景。 

3.二者区别

主要区别

  • 版本差异:最显著的区别在于一个是第5代(5.x),另一个是第4代(4.x)产品线。
  • 功能集:HttpClient 5引入了许多新特性,如对HTTP/2的支持,改进的异步API等,而HttpClient 4则侧重于稳定性和广泛的现有应用支持。
  • API设计:HttpClient 5提供了更新、更简洁的API设计,而HttpClient 4的API虽然也很强大,但在某些方面可能显得稍微陈旧一些。
  • 未来方向:HttpClient 5代表了这个库的未来发展方向,而HttpClient 4主要是为了支持现有的用户群并确保稳定性。

如何选择

  • 如果你在启动一个新项目或希望利用最新的HTTP协议特性和改进的API设计,那么应该考虑使用HttpClient 5。
  • 如果你的项目依赖于大量的HttpClient 4代码,或者你需要保持与现有系统的一致性,那么继续使用HttpClient 4可能是更安全的选择。

        注意:同时包含这两个依赖可能会导致类冲突或其他兼容性问题,因此建议根据具体情况仅选择其中一个版本使用。如果决定迁移至HttpClient 5,请确保测试所有相关功能以保证兼容性。 

三、HttpClient发送Get请求和Post请求测试 

这里使用的是JDK8,并且引入了阿里云OSS对象存储

(一)通过HttpClient发送Get请求

@Test
public void testGet() throws Exception {// 1. 创建HttpGet对象,设置请求的url地址CloseableHttpClient httpClient = HttpClients.createDefault();HttpGet httpGet = new HttpGet("http://localhost:8080/user/shop/status");// 2. 使用HttpClient对象执行请求,得到一个HttpResponse对象CloseableHttpResponse response = httpClient.execute(httpGet);// 3. 获取响应状态码int statusCode = response.getStatusLine().getStatusCode();System.out.println("statusCode = " + statusCode);// 4. 从HttpResponse对象中获取响应体HttpEntity entity = response.getEntity();String body = EntityUtils.toString(entity);System.out.println("body = " + body);// 4. 关闭HttpClient对象response.close();httpClient.close();
}

运行结果: 

statusCode = 200
body = {"code":1,"msg":null,"data":1}

 (二)通过HttpClient发送Post请求 

@Test
public void testPost() throws Exception {// 1. 创建HttpGet对象,设置请求的url地址CloseableHttpClient httpClient = HttpClients.createDefault();HttpPost httpPost = new HttpPost("http://localhost:8080/admin/employee/login");// 2.设置请求体JSONObject jsonObject = new JSONObject();jsonObject.put("username","admin");jsonObject.put("password","123456");String body = jsonObject.toJSONString();StringEntity entity = new StringEntity(body);httpPost.setEntity(entity);// 3.设置请求体编码格式entity.setContentEncoding("UTF-8");entity.setContentType("application/json");httpPost.setEntity(entity);// 4.发送请求CloseableHttpResponse response = httpClient.execute(httpPost);// 5.获取响应状态码int statusCode = response.getStatusLine().getStatusCode();System.out.println("statusCode = " + statusCode);// 6.获取响应体HttpEntity httpEntity = response.getEntity();String result = EntityUtils.toString(httpEntity);System.out.println("result = " + result);// 7.关闭资源response.close();httpClient.close();
}

运行结果: 

statusCode = 200
result = {"code":1,"msg":null,
"data":{"id":1,"userName":"admin","name":"管理员",
"token":"eyJhbGciOiJIUzI1NiJ9.eyJlbXBJZCI6MSwiZXhwIjoxNzQ1MDg0MTQyfQ._BFIF6qOdhSf8ML17fYHwnvnAXgl0Y9SAYhC2ehplTs"}}
http://www.yayakq.cn/news/612729/

相关文章:

  • 购物网站开发代码thinkphp手机网站制作
  • 南宁设计网站建设为企业为什么做网站
  • 淘客个人网站怎么建设万网虚拟主机免费空间
  • 怎么为自己做的网站申请域名wordpress的简单应用
  • 金乡网站建设哪家好网站cms系统 开源
  • 查询网站服务商广告艺术设计
  • 本科学院网站建设方案wordpress专题修改
  • 怎么做网站缩略图黄冈seo推广优势
  • 淮北网站建设石家庄新闻综合频道回看今天
  • 网站平台建设实训心得体会我要自学网怎么样
  • php wap网站源码取名算命网站的源代码asp+access
  • 中国做网站知名的公司濮阳网站优化
  • 网站建设推广顾问是什么意思做psd模板下载网站
  • 菏泽做网站优化的百度不收录网站内页
  • 最近的国际新闻热点自动seo系统
  • 如何寻找做网站的客户企业中层管理人员培训课程
  • 常州网站建设优质商家百度重庆营销中心
  • 先域名 还是先做网站开发公司自渠工作感悟
  • 网站设计 北京店厦门网站推广费用
  • 手机网站整站源码深圳外贸网站
  • 徽州网站建设网站架构的建设
  • 广州建设网站的公司wordpress 多层边栏
  • 深圳 购物网站ppt模板免费下载 素材中国风
  • 挂机宝怎么做网站中信建设有限责任公司云南分公司
  • 做ppt哪个网站的图片好深圳做小程序网站设计
  • 做企业免费网站哪个好些做网站号码
  • 做网站前台开发学习网站建设 碧辉腾乐
  • 钓鱼网站怎样做wordpress镶嵌网页
  • 长春火车站核酸检测多久出结果营销型网站建设xywlcn
  • 网站没有备案时做营销策划的上哪个网站好