1.1 Httpclient的使用
1.1.1 什么是httpclient
HttpClient 是 Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。
下载地址:
https://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2112804.html 更加详细请观看这篇文档
1.1.2 添加依赖
需要把httpclient的jar包添加到工程中。只需要在工程中添加httpclient的依赖。
1.1.3 使用方法
1.1.3.1 使用httpclient执行get请求
@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(); } |
1.1.3.2 执行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(); } |
1.1.3.3 使用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(); } |
1.1.3.4 带参数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(); } |