org.apache.http.impl.client

## Class CloseableHttpClient

- java.lang.Object
- - org.apache.http.impl.client.CloseableHttpClient

- All Implemented Interfaces:
    Closeable ， AutoCloseable ， HttpClient
  已知直接子类：
    AbstractHttpClient

      @Contract(threading=SAFE)
      public abstract class CloseableHttpClient
      extends Object
      implements HttpClient, Closeable

  基本实现`HttpClient`也实现`Closeable` 。
  从以下版本开始：
    4.3

- - ### 构造方法摘要

    构造方法
    Constructor and Description
    `CloseableHttpClient()`

  - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract CloseableHttpResponse` | `doExecute(HttpHost target, HttpRequest request, HttpContext context)`
    `CloseableHttpResponse` | `execute(HttpHost target, HttpRequest request)` 使用默认上下文执行HTTP请求。
    `CloseableHttpResponse` | `execute(HttpHost target, HttpRequest request, HttpContext context)` 使用给定的上下文执行HTTP请求。
    `<T> T` | `execute(HttpHost target, HttpRequest request, ResponseHandler<? extends T> responseHandler)` 使用默认上下文执行请求，并使用给定的响应处理程序处理响应。
    `<T> T` | `execute(HttpHost target, HttpRequest request, ResponseHandler<? extends T> responseHandler, HttpContext context)` 使用默认上下文执行请求，并使用给定的响应处理程序处理响应。
    `CloseableHttpResponse` | `execute(HttpUriRequest request)` 使用默认上下文执行HTTP请求。
    `CloseableHttpResponse` | `execute(HttpUriRequest request, HttpContext context)` 使用给定的上下文执行HTTP请求。
    `<T> T` | `execute(HttpUriRequest request, ResponseHandler<? extends T> responseHandler)` 使用默认上下文执行请求，并使用给定的响应处理程序处理响应。
    `<T> T` | `execute(HttpUriRequest request, ResponseHandler<? extends T> responseHandler, HttpContext context)` 使用默认上下文执行请求，并使用给定的响应处理程序处理响应。

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.http.client.HttpClient

      `getConnectionManager, getParams`

    - ### Methods inherited from interface java.io.Closeable

      `close`

- - ### 构造方法详细信息

    - #### CloseableHttpClient

          public CloseableHttpClient()

  - ### 方法详细信息

    - #### doExecute

          protected abstract CloseableHttpResponse doExecute(HttpHost target,
                                        HttpRequest request,
                                        HttpContext context)
                                                      throws IOException,
                                                             ClientProtocolException

      异常
        `IOException`
        `ClientProtocolException`

    - #### execute

          public CloseableHttpResponse execute(HttpHost target,
                                      HttpRequest request,
                                      HttpContext context)
                                        throws IOException,
                                               ClientProtocolException

      使用给定的上下文执行HTTP请求。
      Specified by:
        `execute`在接口 `HttpClient`
      参数
        `target` - 请求的目标主机。 如果他们仍然可以确定路由，例如到默认目标或通过检查请求，那么实现可以接受`null` 。
        `request` - 执行请求
        `context` - 用于执行的上下文，或 `null`使用默认上下文
      结果
        对请求的响应。 这总是一个最后的响应，从来没有一个1xx状态代码的中间响应。 是否自动返回或处理重定向或身份验证挑战取决于该客户端的实现和配置。
      异常
        `IOException` - 出现问题或连接中止时
        `ClientProtocolException` - 在http协议错误的情况下

    - #### execute

          public CloseableHttpResponse execute(HttpUriRequest request,
                                      HttpContext context)
                                        throws IOException,
                                               ClientProtocolException

      使用给定的上下文执行HTTP请求。
      Specified by:
        `execute`接口 `HttpClient`
      参数
        `request` - 请求执行
        `context` - 用于执行的上下文，或 `null`使用默认上下文
      结果
        对请求的响应。 这总是一个最后的响应，从来没有一个1xx状态代码的中间响应。 是否自动返回或处理重定向或身份验证挑战取决于该客户端的实现和配置。
      异常
        `IOException` - 出现问题或连接中止时
        `ClientProtocolException` - 在http协议错误的情况下

    - #### execute

          public CloseableHttpResponse execute(HttpUriRequest request)
                                        throws IOException,
                                               ClientProtocolException

      使用默认上下文执行HTTP请求。
      Specified by:
        `execute`在接口 `HttpClient`
      参数
        `request` - 执行请求
      结果
        对请求的响应。 这总是一个最后的响应，从来没有一个1xx状态代码的中间响应。 是否自动返回或处理重定向或身份验证挑战取决于该客户端的实现和配置。
      异常
        `IOException` - 出现问题或连接中止时
        `ClientProtocolException` - 在http协议错误的情况下

    - #### execute

          public CloseableHttpResponse execute(HttpHost target,
                                      HttpRequest request)
                                        throws IOException,
                                               ClientProtocolException

      使用默认上下文执行HTTP请求。
      Specified by:
        `execute`在接口 `HttpClient`
      参数
        `target` - 请求的目标主机。 如果仍然可以确定路由，例如默认目标或检查请求，则实施方案可以接受`null` 。
        `request` - 执行请求
      结果
        对请求的响应。 这总是一个最后的响应，从来没有一个1xx状态代码的中间响应。 是否自动返回或处理重定向或身份验证挑战取决于该客户端的实现和配置。
      异常
        `IOException` - 出现问题或连接中止时
        `ClientProtocolException` - 在http协议错误的情况下

    - #### execute

          public <T> T execute(HttpUriRequest request,
                      ResponseHandler<? extends T> responseHandler)
                    throws IOException,
                           ClientProtocolException

      使用默认上下文执行请求，并使用给定的响应处理程序处理响应。 与响应相关联的内容实体被完全消费，并且底层连接在所有情况下自动释放回连接管理器， 以免个人`ResponseHandler`不必在内部管理资源释放。
      Specified by:
        `execute`在接口 `HttpClient`
      参数
        `request` - 执行请求
        `responseHandler` - 响应处理程序
      结果
        由响应处理程序生成的响应对象。
      异常
        `IOException` - 出现问题或连接中止时
        `ClientProtocolException` - 在http协议错误的情况下

    - #### execute

          public <T> T execute(HttpUriRequest request,
                      ResponseHandler<? extends T> responseHandler,
                      HttpContext context)
                    throws IOException,
                           ClientProtocolException

      使用默认上下文执行请求，并使用给定的响应处理程序处理响应。 与响应相关联的内容实体被完全消耗，并且底层连接在所有情况下自动释放回连接管理器， 以免个人`ResponseHandler`不必在内部管理资源释放。
      Specified by:
        `execute`在接口 `HttpClient`
      参数
        `request` - 执行请求
        `responseHandler` - 响应处理程序
        `context` - 用于执行的上下文，或 `null`使用默认上下文
      结果
        由响应处理程序生成的响应对象。
      异常
        `IOException` - 出现问题或连接中止时
        `ClientProtocolException` - 在http协议错误的情况下

    - #### execute

          public <T> T execute(HttpHost target,
                      HttpRequest request,
                      ResponseHandler<? extends T> responseHandler)
                    throws IOException,
                           ClientProtocolException

      使用默认上下文执行请求，并使用给定的响应处理程序处理响应。 与响应相关联的内容实体被完全消耗，并且底层连接在所有情况下自动释放回连接管理器， 以免个人`ResponseHandler`不必在内部管理资源释放。
      Specified by:
        `execute`在接口 `HttpClient`
      参数
        `target` - 请求的目标主机。 如果他们仍然可以确定路由，例如到默认目标或通过检查请求，那么实现可以接受`null` 。
        `request` - 执行请求
        `responseHandler` - 响应处理程序
      结果
        由响应处理程序生成的响应对象。
      异常
        `IOException` - 出现问题或连接中止时
        `ClientProtocolException` - 在http协议错误的情况下

    - #### execute

          public <T> T execute(HttpHost target,
                      HttpRequest request,
                      ResponseHandler<? extends T> responseHandler,
                      HttpContext context)
                    throws IOException,
                           ClientProtocolException

      使用默认上下文执行请求，并使用给定的响应处理程序处理响应。 与响应相关联的内容实体被完全消费，并且底层连接在所有情况下自动释放回连接管理器，从而使个人`ResponseHandler`不必在内部管理资源释放。
      Specified by:
        `execute`在接口 `HttpClient`
      参数
        `target` - 请求的目标主机。 如果他们仍然可以确定路由，例如到默认目标或通过检查请求，那么实现可以接受`null` 。
        `request` - 执行请求
        `responseHandler` - 响应处理程序
        `context` - 用于执行的上下文，或 `null`使用默认上下文
      结果
        由响应处理程序生成的响应对象。
      异常
        `IOException` - 出现问题或连接中止时
        `ClientProtocolException` - 在http协议错误的情况下

Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.

本帮助文档是使用 《谷歌翻译》翻译，请与英文版配合使用 by--QQ:654638585