HttpClient 是 Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP协议的客户端编程工具包,并且它支持 HTTP协议最新的版本和建议。下载地址:
http://hc.apache.org/
https://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2112804.html 更加详细请观看这篇文档
需要把httpclient的jar包添加到工程中。只需要在工程中添加httpclient的依赖。
@Test
public void doGet()throws Exception {
//创建一个httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//创建一个GET对象
HttpGet get =new HttpGet("http://www.sogou.com");
//执行请求
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();
}
@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();
}
@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();
}
@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();
}