使用Java编写一个http请求,要求使用HttpClient

HttpClient介绍:

HttpClient是Apache提供的一个用于在Java中处理HTTP请求、响应操作的工具,它比JDK中自带的URLConnection更加灵活好用,因此越来越多的人开始使用它来实行对HTTP的请求操作。HttpClient的初级使用我是在IDEA的编译工具上来实现基于HttpClient的HTTP请求实现。首先需要先创建一个Maven项目,并且添加相关的HttpClient依赖,在百度上使用HttpClient pom 查找官网上的HttpClient依赖,如图1.1,然后选择自己需要的版本,点击获取该依赖,如图1.2。将该语句添加至项目的pom.xml文件中。至此,HttpClient的jar包添加完成,可以开始项目的编写。          

使用Java编写一个http请求,要求使用HttpClient                                                            图1.1 依赖版本选择图1.2 相关依赖语句                

使用Java编写一个http请求,要求使用HttpClient                                                 

                                               图1.2 相关依赖语句    

HttpClient的使用方法:

  1. 使用CloseableHttpClient来创建一个httpClient对象
  2. 声明请求类型,并传入相应的URL
  3. 使用httpClient的excute()方法来传递请求对象,并获取响应对象
  4. 获取服务器的状态码,并判断该状态码是否正常
  5. 正常的话则将服务器发送的数据封装成HttpEntity对象
  6. 将所得对象转化成字符串
  7. 关闭连接

get请求:

public class HttpClient {
    public static void main(String[] args) {
        //创建一个httpClient实例
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //创建一个get方法,并指定url
        HttpGet get = new HttpGet("http://www.baidu.com");

        {
            try {
                //调用httpClient的excute方法,传递请求对象并且获取到响应对象
                HttpResponse  response = httpClient.execute(get);
                //得到服务器的状态码
                ; int httpCode = response.getStatusLine().getStatusCode();
                System.out.println("httpCode:"+ httpCode);
                //判断该状态码是否正常
                if(httpCode >= 200 && httpCode < 400){
                    //得到服务器端发送过来的数据并封装成HttpEntity
                    HttpEntity httpEntity = response.getEntity();
                    //将得到的对象转化成字符串
                    System.out.println("httpEntity:"+ httpEntity);
                    String result = EntityUtils.toString(httpEntity);
                    System.out.println("*********************");
                    System.out.println("result:"+ result);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
        response.close();
        httpClient.close();
    }

}

 

 输出结果

使用Java编写一个http请求,要求使用HttpClient