目录
介绍
是一个客户端编程的工具包,也就是在java程序中,可以构造http请求并且发送请求
maven坐标
httpclient
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
fastjson
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> </dependency>
发送请求步骤
创建HttpClient对象
创建 Http请求对象
创建 HttpClient的execute方法发送请求
发送get请求
/** * 使用httpclient发送get请求 */ @Test public void testGet() throws IOException { //创建httpclient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); //创建请求对象 HttpGet httpGet = new HttpGet("http://localhost:8080/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(); }
发送post请求
/** * 使用httpclient发送post请求 */ @Test public void testPOST() throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("http://localhost:8080/admin/employee/login"); //使用fastjson组装数据 JSONObject jsonObject = new JSONObject(); jsonObject.put("username", "admin"); jsonObject.put("password", "123456"); //提交请求体 StringEntity entity = new StringEntity(jsonObject.toString()); entity.setContentType("application/json"); entity.setContentEncoding("UTF-8"); 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(); }