HttpClient框架
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient
HttpClient依赖引入
在pom.xml中引入HttpClient依赖
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
HttpPost运用
模拟实现http协议下的post请求的java类,Post提交的特点:
- 以post方式提交请求到服务器
- 参数都是封装到请求体中提交
- 数据长度没有限制
/**
*参数格式为json的POST请求
*/
@Test
public void testPost(){
//填写接口地址
String url = "";
//指定接口请求方式
HttpPost post = new HttpPost(url);
//准备测试数据
Map<String,String> parameter = new HashMap<>();
parameter.put("phone","13777777777");
parameter.put("pwd","123456");
//将参数格式化
StringEntity entity = new StringEntity(JSON.toJSONString(parameter), "UTF-8");
post.setEntity(entity);
//创建客户端并发起请求
CloseableHttpClient