欢迎来到本篇博客,这是一个关于HttPClient的入门案例的指南。
在今天的网络世界中,与服务器进行数据交互是开发应用程序的一个关键部分。
HttPClient是一款强大而灵活的工具,它帮助我们轻松发送和接收HTTP请求,并与各种Web服务器进行通信。
本文旨在为初学者提供一个简明扼要的入门指南,让您快速掌握HttPClient的基本知识和使用方法。
我们将逐步引导您通过实际示例,展示如何使用HttPClient发送GET和POST请求,处理请求和响应,
以及其他一些常见的HTTP操作。
不管您是想开发一个支持远程数据交换的应用程序,还是想了解更多关于HttPClient的信息,
本篇博客都将为您提供有价值的知识和实际操作经验!!!
在开始之前,请确保您已经具备基本的Java编程知识和对HTTP协议的基本了解。
现在就让我们一起进入HttPClient的精彩世界,开始您的学习之旅吧!
如果您使用的是Maven项目,您可以使用以下依赖项将所需的类库添加到您的pom.xml文件中:
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
</dependencies>
创建一个项目,设置端口
server.port=8081
在项目下创建实体类User.java
import lombok.Data;
@Data
public class User {
private String userName;
private String passWord;
}
在项目下创建类webTest .java,供调用者调用
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class webTest {
@GetMapping("/aa")
public String aa(){
return "成功";
}
@PostMapping("/bb")
public String bb(@RequestBody User user){
System.out.println(user);
return "成功";
}
}
重新创建一个项目,设置端口
server.port=8080
在项目创建测试类,调用被调用者服务
/**
* 测试通过httpclient发送GET方式的请求
*/
@Test
public void testGET() throws Exception{
//创建httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//创建请求对象
HttpGet httpGet = new HttpGet("http://localhost:8081/aa");
//发送请求,接受响应结果
CloseableHttpResponse response = httpClient.execute(httpGet);
//获取服务端返回的状态码
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("服务端返回的状态码为:" + statusCode);
HttpEntity entity = response.getEntity();
String body = EntityUtils.toString(entity);
System.out.println("服务端返回的数据为:" + body);
//关闭资源
response.close();
httpClient.close();
}
/**
* 测试通过httpclient发送POST方式的请求
*/
@Test
public void testPOST() throws Exception{
// 创建httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//创建请求对象
HttpPost httpPost = new HttpPost("http://localhost:8081/bb");
// 构造json格式字符串
JSONObject jsonObject = new JSONObject();
jsonObject.put("userName","admin");
jsonObject.put("passWord","123456");
StringEntity entity = new StringEntity(jsonObject.toString());
//指定请求编码方式
entity.setContentEncoding("utf-8");
//数据格式
entity.setContentType("application/json");
httpPost.setEntity(entity);
//发送请求
CloseableHttpResponse response = httpClient.execute(httpPost);
//解析返回结果
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("响应码为:" + statusCode);
HttpEntity entity1 = response.getEntity();
String body = EntityUtils.toString(entity1);
System.out.println("响应数据为:" + body);
//关闭资源
response.close();
httpClient.close();
}
@作者:加辣椒了吗?
简介:憨批大学生一枚,喜欢在博客上记录自己的学习心得,也希望能够帮助到你们!