1.导包
<!--http客户端-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.5</version>
</dependency>
2.不带参数的GET请求
@Test
public void test1() throws IOException {
//1.创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//2.创建get请求
HttpGet httpGet=new HttpGet("http://localhost:8080/test/find?bannerId=1");
//3.发起请求获取响应
CloseableHttpResponse response = httpClient.execute(httpGet);
//获取响应体
HttpEntity responseEntity = response.getEntity();
System.out.println(EntityUtils.toString(responseEntity));
}
添加请求头
//添加请求头
httpGet.addHeader("api-key","1234466");
3.带参数的GET请求
@Test
public void test2() throws Exception {
//1.创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//2.创建get请求
URI uri = new URIBuilder("http://localhost:8080/test/find").setParameter("bannerId", "1").build();
HttpGet httpGet=new HttpGet(uri);
//3.发起请求获取响应
CloseableHttpResponse response = httpClient.execute(httpGet);
//获取响应体
HttpEntity responseEntity = response.getEntity();
System.out.println(EntityUtils.toString(responseEntity));
}
4.POST请求
@Test
public void test3() throws Exception {
//1.创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//2.创建post请求
HttpPost httpPost=new HttpPost("http://localhost:8080/test/add");
//封装post请求的参数
List<NameValuePair> pairList=new ArrayList<NameValuePair>();
pairList.add(new BasicNameValuePair("name","aa"));
pairList.add(new BasicNameValuePair("position","1"));
UrlEncodedFormEntity entity=new UrlEncodedFormEntity(pairList);
//设置请求体
httpPost.setEntity(entity);
//3.发起请求获取响应
CloseableHttpResponse response = httpClient.execute(httpPost);
//获取响应体
HttpEntity responseEntity = response.getEntity();
System.out.println(EntityUtils.toString(responseEntity));
}
5.POST发送json
String body="{\"username\":\"ntxz\",\"password\":\"123456\"}";
try {
HttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://127.0.0.1:6676/user/localLogin");
httpPost.addHeader("Content-Type", "application/json;charset=utf8");
httpPost.setEntity(new StringEntity(body, StandardCharsets.UTF_8));
HttpResponse response = httpClient.execute(httpPost);
Header[] tokens = response.getAllHeaders();
for (Header header : tokens) {
if (header.getName().equals("token")){
System.out.println(header.getValue());
}
}
System.out.println(EntityUtils.toString(response.getEntity()));
}catch (Exception e){
System.out.println("请求异常, 错误信息为: "+e.getMessage());
}