-
- Httpclient的使用
- 什么是httpclient
- Httpclient的使用
HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
下载地址:
-
-
- 添加依赖
-
需要把httpclient的jar包添加到工程中。只需要在工程中添加httpclient的依赖。
-
-
- 使用方法
- 使用httpclient执行get请求
- 使用方法
-
@Test
public void httpClient(){
try{
//建立对象
CloseableHttpClient cclient=HttpClients.createDefault();
//创建get对象
HttpGet get=new HttpGet("http://guidingadmin.gpmart.cn/");
//执行请求
CloseableHttpResponse res=cclient.execute(get);
//获取响应的状态码
int status=res.getStatusLine().getStatusCode();
System.out.println("状态码:"+status);
//
HttpEntity ent=res.getEntity();
//
String s=EntityUtils.toString(ent, "utf-8");
System.out.println("返回结果:"+s);
//关闭
res.close();
cclient.close();
}catch(Exception e){
}
}
-
-
-
- 执行get请求带参数
-
-
@Test public void doGetWithParam() throws Exception{ //创建一个httpclient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); //创建一个uri对象 URIBuilder uriBuilder = new URIBuilder("http://www.sogou.com/web"); uriBuilder.addParameter("query", "花千骨"); HttpGet get = new HttpGet(uriBuilder.build()); //执行请求 CloseableHttpResponse response = httpClient.execute(get); //取响应的结果 int statusCode = response.getStatusLine().getStatusCode(); System.out.println(statusCode); HttpEntity entity = response.getEntity(); String string = EntityUtils.toString(entity, "utf-8"); System.out.println(string); //关闭httpclient response.close(); httpClient.close(); } |
-
-
-
- 使用httpclient执行post请求
-
-
@Test public void doPost() throws Exception { CloseableHttpClient httpClient = HttpClients.createDefault();
//创建一个post对象 HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.html"); //执行post请求 CloseableHttpResponse response = httpClient.execute(post); String string = EntityUtils.toString(response.getEntity()); System.out.println(string); response.close(); httpClient.close();
} |
-
-
-
- 带参数post请求
-
-
@Test public void doPostWithParam() throws Exception{ CloseableHttpClient httpClient = HttpClients.createDefault();
//创建一个post对象 HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.html"); //创建一个Entity。模拟一个表单 List<NameValuePair> kvList = new ArrayList<>(); kvList.add(new BasicNameValuePair("username", "zhangsan")); kvList.add(new BasicNameValuePair("password", "123"));
//包装成一个Entity对象 StringEntity entity = new UrlEncodedFormEntity(kvList, "utf-8"); //设置请求的内容 post.setEntity(entity);
//执行post请求 CloseableHttpResponse response = httpClient.execute(post); String string = EntityUtils.toString(response.getEntity()); System.out.println(string); response.close(); httpClient.close(); } |