欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

开启httpClient之旅

程序员文章站 2024-01-19 11:37:16
...

下班了,明天有事周六了(不过给我没啥关系(明天加班)),走之前把昨晚学的httpClient给总结一下,由于刚开始学习,所以这次是最基础的一遍。后期会持续更新相关内容,也欢迎关注我的个人博客。主页

搜的一些简介开启httpClient之旅

HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。


enennene让我回想一下昨天学习的内容,首先需要导入几个jar包,

  httpclient-4.5.jar

   httpcore-4.4.1.jar

   httpmime-4.5.jar,几个关键词如下:CloseableHttpClient(可关闭的httpclient)、HttpGet(get类型http)、CloseableHttpResponse(可关闭的响应)、HttpEntity(请求返回的实体对象)代码注释一起上。注意这里是一个爬虫的基本操作,因为httpClient之前主要是用于爬虫操作。所以用这个例子作为入门,相信可以更有成效。

  public static void main(String[] args) {
        CloseableHttpClient httpClient=HttpClients.createDefault(); // 首先创建httpClient的实例
        HttpGet httpget = new HttpGet("http://www.网址.com/"); // 然后创建httpget实例参数是网址或者ip+端口
        CloseableHttpResponse response=null;
        try {
            response = httpClient.execute(httpget);
        } catch (ClientProtocolException e) {  // http协议异常
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) { // io异常
            // TODO Auto-generated catch block
            e.printStackTrace();
        } // 执行get请求
        HttpEntity entity=response.getEntity(); // 获取返回实体
        try {
            System.out.println("网页内容:"+EntityUtils.toString(entity, "utf-8"));//利用工具类对返回的实体格式化
        } catch (ParseException e) {  // 解析异常
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) { // io异常
            // TODO Auto-generated catch block
            e.printStackTrace();
        } // 指定编码打印网页内容
        try {
            response.close();
        } catch (IOException e) {  // io异常
            // TODO Auto-generated catch block
            e.printStackTrace();
        } // 关闭流和释放系统资源

总结:上边程序可以说是一个最基础的篇目。主要分为如下几步:

1.创建httpClient实例(可关闭的HttpClient)

2.创建所需请求方式的Http(post或者get)参数是请求的套接字(ip+端口)

3.创建一个可以关闭的Http响应对象即CloseableHttpResponse对像,用于接受请求后的响应内容。

4.通过response的getEntity获取内容(这里是获取网页上的url内容)

5.通过EntityUtil工具类来格式化返回的内容。

6.关闭两个对象一个是httpClient实例另一个是response对象。

结果如下

开启httpClient之旅