org.apache.http.impl.client

## Class DefaultRequestDirector

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

- All Implemented Interfaces:
    RequestDirector

  已过时。
  （4.3）

      @Deprecated
      public class DefaultRequestDirector
      extends Object
      implements RequestDirector

  默认实现`RequestDirector` 。

  以下参数可用于自定义此类的行为：

  - `CoreProtocolPNames.PROTOCOL_VERSION`
  - `CoreProtocolPNames.STRICT_TRANSFER_ENCODING`
  - `CoreProtocolPNames.HTTP_ELEMENT_CHARSET`
  - `CoreProtocolPNames.USE_EXPECT_CONTINUE`
  - `CoreProtocolPNames.WAIT_FOR_CONTINUE`
  - `CoreProtocolPNames.USER_AGENT`
  - `CoreConnectionPNames.SOCKET_BUFFER_SIZE`
  - `CoreConnectionPNames.MAX_LINE_LENGTH`
  - `CoreConnectionPNames.MAX_HEADER_COUNT`
  - `CoreConnectionPNames.SO_TIMEOUT`
  - `CoreConnectionPNames.SO_LINGER`
  - `CoreConnectionPNames.SO_REUSEADDR`
  - `CoreConnectionPNames.TCP_NODELAY`
  - `CoreConnectionPNames.CONNECTION_TIMEOUT`
  - `CoreConnectionPNames.STALE_CONNECTION_CHECK`
  - `ConnRoutePNames.FORCED_ROUTE`
  - `ConnRoutePNames.LOCAL_ADDRESS`
  - `ConnRoutePNames.DEFAULT_PROXY`
  - `CookieSpecPNames.DATE_PATTERNS`
  - `CookieSpecPNames.SINGLE_COOKIE_HEADER`
  - `AuthPNames.CREDENTIAL_CHARSET`
  - `ClientPNames.COOKIE_POLICY`
  - `ClientPNames.HANDLE_AUTHENTICATION`
  - `ClientPNames.HANDLE_REDIRECTS`
  - `ClientPNames.MAX_REDIRECTS`
  - `ClientPNames.ALLOW_CIRCULAR_REDIRECTS`
  - `ClientPNames.VIRTUAL_HOST`
  - `ClientPNames.DEFAULT_HOST`
  - `ClientPNames.DEFAULT_HEADERS`
  - `ClientPNames.CONN_MANAGER_TIMEOUT`
  从以下版本开始：
    4

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ClientConnectionManager` | `connManager` 已过时。 连接管理器。
    `protected HttpProcessor` | `httpProcessor` 已过时。 HTTP协议处理器
    `protected ConnectionKeepAliveStrategy` | `keepAliveStrategy` 已过时。 保持持续时间策略。
    `protected ManagedClientConnection` | `managedConn` 已过时。 当前分配的连接。
    `protected HttpParams` | `params` 已过时。 HTTP参数。
    `protected AuthenticationHandler` | `proxyAuthHandler` 已过时。
    `protected AuthState` | `proxyAuthState` 已过时。
    `protected AuthenticationStrategy` | `proxyAuthStrategy` 已过时。 代理身份验证处理程序。
    `protected RedirectHandler` | `redirectHandler` 已过时。
    `protected RedirectStrategy` | `redirectStrategy` 已过时。 重定向策略。
    `protected HttpRequestExecutor` | `requestExec` 已过时。 请求执行者。
    `protected HttpRequestRetryHandler` | `retryHandler` 已过时。 请求重试处理程序。
    `protected ConnectionReuseStrategy` | `reuseStrategy` 已过时。 连接重用策略。
    `protected HttpRoutePlanner` | `routePlanner` 已过时。 路线规划师
    `protected AuthenticationHandler` | `targetAuthHandler` 已过时。
    `protected AuthState` | `targetAuthState` 已过时。
    `protected AuthenticationStrategy` | `targetAuthStrategy` 已过时。 目标身份验证处理程序。
    `protected UserTokenHandler` | `userTokenHandler` 已过时。 用户令牌处理程序。

  - ### 构造方法摘要

    构造方法
    Constructor and Description
    `DefaultRequestDirector(HttpRequestExecutor requestExec, ClientConnectionManager conman, ConnectionReuseStrategy reustrat, ConnectionKeepAliveStrategy kastrat, HttpRoutePlanner rouplan, HttpProcessor httpProcessor, HttpRequestRetryHandler retryHandler, RedirectHandler redirectHandler, AuthenticationHandler targetAuthHandler, AuthenticationHandler proxyAuthHandler, UserTokenHandler userTokenHandler, HttpParams params)` 已过时。
    `DefaultRequestDirector(org.apache.commons.logging.Log log, HttpRequestExecutor requestExec, ClientConnectionManager conman, ConnectionReuseStrategy reustrat, ConnectionKeepAliveStrategy kastrat, HttpRoutePlanner rouplan, HttpProcessor httpProcessor, HttpRequestRetryHandler retryHandler, RedirectStrategy redirectStrategy, AuthenticationHandler targetAuthHandler, AuthenticationHandler proxyAuthHandler, UserTokenHandler userTokenHandler, HttpParams params)` 已过时。
    `DefaultRequestDirector(org.apache.commons.logging.Log log, HttpRequestExecutor requestExec, ClientConnectionManager conman, ConnectionReuseStrategy reustrat, ConnectionKeepAliveStrategy kastrat, HttpRoutePlanner rouplan, HttpProcessor httpProcessor, HttpRequestRetryHandler retryHandler, RedirectStrategy redirectStrategy, AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, UserTokenHandler userTokenHandler, HttpParams params)` 已过时。

  - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected HttpRequest` | `createConnectRequest(HttpRoute route, HttpContext context)` 已过时。 创建CONNECT隧道请求。
    `protected boolean` | `createTunnelToProxy(HttpRoute route, int hop, HttpContext context)` 已过时。 创建到中间代理的隧道。
    `protected boolean` | `createTunnelToTarget(HttpRoute route, HttpContext context)` 已过时。 创建到目标服务器的隧道。
    `protected HttpRoute` | `determineRoute(HttpHost targetHost, HttpRequest request, HttpContext context)` 已过时。 确定请求的路由。
    `protected void` | `establishRoute(HttpRoute route, HttpContext context)` 已过时。 建立目标路线。
    `HttpResponse` | `execute(HttpHost targetHost, HttpRequest request, HttpContext context)` 已过时。 执行请求
    `protected RoutedRequest` | `handleResponse(RoutedRequest roureq, HttpResponse response, HttpContext context)` 已过时。 分析一个回应，以检查后续需求。
    `protected void` | `releaseConnection()` 已过时。 将连接返回给连接管理器，并准备在下次请求期间检索新的连接。
    `protected void` | `rewriteRequestURI(RequestWrapper request, HttpRoute route)` 已过时。

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

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

- - ### 字段详细信息

    - #### connManager

          protected final ClientConnectionManager connManager

      已过时。
      连接管理器。

    - #### routePlanner

          protected final HttpRoutePlanner routePlanner

      已过时。
      路线规划师

    - #### reuseStrategy

          protected final ConnectionReuseStrategy reuseStrategy

      已过时。
      连接重用策略。

    - #### keepAliveStrategy

          protected final ConnectionKeepAliveStrategy keepAliveStrategy

      已过时。
      保持持续时间策略。

    - #### requestExec

          protected final HttpRequestExecutor requestExec

      已过时。
      请求执行者。

    - #### httpProcessor

          protected final HttpProcessor httpProcessor

      已过时。
      HTTP协议处理器

    - #### retryHandler

          protected final HttpRequestRetryHandler retryHandler

      已过时。
      请求重试处理程序。

    - #### redirectHandler

          @Deprecated
          protected final RedirectHandler redirectHandler

      已过时。
      重定向处理程序。

    - #### redirectStrategy

          protected final RedirectStrategy redirectStrategy

      已过时。
      重定向策略。

    - #### targetAuthHandler

          @Deprecated
          protected final AuthenticationHandler targetAuthHandler

      已过时。
      目标身份验证处理程序。

    - #### targetAuthStrategy

          protected final AuthenticationStrategy targetAuthStrategy

      已过时。
      目标身份验证处理程序。

    - #### proxyAuthHandler

          @Deprecated
          protected final AuthenticationHandler proxyAuthHandler

      已过时。
      代理身份验证处理程序。

    - #### proxyAuthStrategy

          protected final AuthenticationStrategy proxyAuthStrategy

      已过时。
      代理身份验证处理程序。

    - #### userTokenHandler

          protected final UserTokenHandler userTokenHandler

      已过时。
      用户令牌处理程序。

    - #### params

          protected final HttpParams params

      已过时。
      HTTP参数。

    - #### managedConn

          protected ManagedClientConnection managedConn

      已过时。
      当前分配的连接。

    - #### targetAuthState

          protected final AuthState targetAuthState

      已过时。

    - #### proxyAuthState

          protected final AuthState proxyAuthState

      已过时。

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

    - #### DefaultRequestDirector

          @Deprecated
          public DefaultRequestDirector(HttpRequestExecutor requestExec,
                                           ClientConnectionManager conman,
                                           ConnectionReuseStrategy reustrat,
                                           ConnectionKeepAliveStrategy kastrat,
                                           HttpRoutePlanner rouplan,
                                           HttpProcessor httpProcessor,
                                           HttpRequestRetryHandler retryHandler,
                                           RedirectHandler redirectHandler,
                                           AuthenticationHandler targetAuthHandler,
                                           AuthenticationHandler proxyAuthHandler,
                                           UserTokenHandler userTokenHandler,
                                           HttpParams params)

      已过时。

    - #### DefaultRequestDirector

          @Deprecated
          public DefaultRequestDirector(org.apache.commons.logging.Log log,
                                           HttpRequestExecutor requestExec,
                                           ClientConnectionManager conman,
                                           ConnectionReuseStrategy reustrat,
                                           ConnectionKeepAliveStrategy kastrat,
                                           HttpRoutePlanner rouplan,
                                           HttpProcessor httpProcessor,
                                           HttpRequestRetryHandler retryHandler,
                                           RedirectStrategy redirectStrategy,
                                           AuthenticationHandler targetAuthHandler,
                                           AuthenticationHandler proxyAuthHandler,
                                           UserTokenHandler userTokenHandler,
                                           HttpParams params)

      已过时。

    - #### DefaultRequestDirector

          public DefaultRequestDirector(org.apache.commons.logging.Log log,
                                HttpRequestExecutor requestExec,
                                ClientConnectionManager conman,
                                ConnectionReuseStrategy reustrat,
                                ConnectionKeepAliveStrategy kastrat,
                                HttpRoutePlanner rouplan,
                                HttpProcessor httpProcessor,
                                HttpRequestRetryHandler retryHandler,
                                RedirectStrategy redirectStrategy,
                                AuthenticationStrategy targetAuthStrategy,
                                AuthenticationStrategy proxyAuthStrategy,
                                UserTokenHandler userTokenHandler,
                                HttpParams params)

      已过时。
      从以下版本开始：
        4.2

  - ### 方法详细信息

    - #### rewriteRequestURI

          protected void rewriteRequestURI(RequestWrapper request,
                               HttpRoute route)
                                    throws ProtocolException

      已过时。
      异常
        `ProtocolException`

    - #### execute

          public HttpResponse execute(HttpHost targetHost,
                             HttpRequest request,
                             HttpContext context)
                               throws HttpException,
                                      IOException

      已过时。
      描述从接口`RequestDirector`复制
      执行请求

      注意：目前，每个请求都会实例化一个新的董事。 这与HttpClient 3中的`HttpMethodDirector`相同。

      Specified by:
        `execute`在接口 `RequestDirector`
      参数
        `targetHost` - 请求的目标主机。 如果他们仍然可以确定路由，例如到默认目标或通过检查请求，那么实现可以接受`null` 。
        `request` - 执行请求
        `context` - 执行请求的上下文
      结果
        对请求的最终响应。 这不是一个状态码为1xx的中间响应。
      异常
        `HttpException` - 出现问题时
        `IOException` - 如果出现IO问题或连接中断

    - #### releaseConnection

          protected void releaseConnection()

      已过时。
      将连接返回给连接管理器，并准备在下次请求期间检索新的连接。

    - #### determineRoute

          protected HttpRoute determineRoute(HttpHost targetHost,
                                 HttpRequest request,
                                 HttpContext context)
                                      throws HttpException

      已过时。
      确定请求的路由。 由`execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)`调用以确定原始或后续请求的路由。
      参数
        `targetHost` - 请求的目标主机。 如果他们仍然可以确定路由，例如到默认目标或通过检查请求，实现可以接受`null` 。
        `request` - 请求执行
        `context` - 用于执行的上下文，从不 `null`
      结果
        请求应该采取的路由
      异常
        `HttpException` - 出现问题时

    - #### establishRoute

          protected void establishRoute(HttpRoute route,
                            HttpContext context)
                                 throws HttpException,
                                        IOException

      已过时。
      建立目标路线。
      参数
        `route` - 建立路线
        `context` - 请求执行的上下文
      异常
        `HttpException` - 在出现问题的情况下
        `IOException` - 在IO问题的情况下

    - #### createTunnelToTarget

          protected boolean createTunnelToTarget(HttpRoute route,
                                     HttpContext context)
                                          throws HttpException,
                                                 IOException

      已过时。
      创建到目标服务器的隧道。 连接必须建立到（最后）代理。 将创建并发送通过代理隧道的CONNECT请求，接收并检查响应。 此方法不更新有关的隧道，这是留给来电信息的连接。
      参数
        `route` - 建立路线
        `context` - 请求执行的上下文
      结果
        `true`如果隧道路由安全，否则为`false` 。 这里的实现总是返回`false` ，但派生类可以覆盖。
      异常
        `HttpException` - 出现问题的情况
        `IOException` - 在IO问题的情况下

    - #### createTunnelToProxy

          protected boolean createTunnelToProxy(HttpRoute route,
                                    int hop,
                                    HttpContext context)
                                         throws HttpException,
                                                IOException

      已过时。
      创建到中间代理的隧道。 这个方法没有在这个类中实现。 它只是在这里抛出一个异常。
      参数
        `route` - 建立路由
        `hop` - 现在建立的路线中的跳。 `route.getHopTarget(hop)`将返回代理隧道。
        `context` - 请求执行的上下文
      结果
        `true`如果部分隧道连接是安全的， `false`否则。
      异常
        `HttpException` - 在出现问题的情况下
        `IOException` - 在出现IO问题的情况下

    - #### createConnectRequest

          protected HttpRequest createConnectRequest(HttpRoute route,
                                         HttpContext context)

      已过时。
      创建CONNECT隧道请求。 致电`createTunnelToTarget` 。
      参数
        `route` - 建立路线
        `context` - 请求执行的上下文
      结果
        CONNECT请求隧道

    - #### handleResponse

          protected RoutedRequest handleResponse(RoutedRequest roureq,
                                     HttpResponse response,
                                     HttpContext context)
                                          throws HttpException,
                                                 IOException

      已过时。
      分析一个回应，以检查后续需求。
      参数
        `roureq` - 请求和路由。
        `response` - 对 `response`的回应
        `context` - 用于当前请求执行的上下文
      结果
        如果有跟进请求和路由，或 `null`如果响应应该返回为
      异常
        `HttpException` - 出现问题时
        `IOException` - 在IO问题的情况下

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

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