本文最后更新于2 天前,其中的信息可能已经过时,如有错误请发送邮件到1169063119@qq.com
HttpClient是Apache Jakarta Common下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。
核心API:
HttpClient | 接口,发送一个http请求 |
HttpClients | 构建器,可以创建一个HttpcCient对象 |
CloseableHttpClient | 具体的实现类,实现了HttpClient接口 |
HttpGet | Http的get请求 |
HttPost | Http的post请求 |
发送请求步骤:
- 创建HttpClient对象
- 创建Http请求对象
- 调用HttpClient的execute方法发送请求
通过HttpClient发送get请求
@Test
public void testGET() throws Exception{
//创建 HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//创建请求对象
HttpGet httpGet = new HttpGet("http://localhost:8081/user/shop/status");
//发送请求,接受响应结果
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/admin/employee/login");
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();
}