org.apache.http.impl.client

## Class DefaultRedirectStrategy

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

- All Implemented Interfaces:
    RedirectStrategy
  已知直接子类：
    LaxRedirectStrategy

      @Contract(threading=IMMUTABLE)
      public class DefaultRedirectStrategy
      extends Object
      implements RedirectStrategy

  默认实现`RedirectStrategy` 。 此策略可以实现对HTTP规范强加的实体封装方法（如POST和PUT）的自动重定向的限制。 `302 Moved Temporarily` ， `301 Moved Permanently`和`307 Temporary Redirect`状态码将导致头的自动重定向并仅GET方法。 POST和PUT方法将不会自动重定向，因为需要用户确认。

  通过使用`LaxRedirectStrategy`而不是`DefaultRedirectStrategy`可以放宽对POST方法自动重定向的限制。

  从以下版本开始：
    4.1
  另请参见：
    `LaxRedirectStrategy`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static DefaultRedirectStrategy` | `INSTANCE`
    `static String` | `REDIRECT_LOCATIONS` 已过时。 （4.3）使用`HttpClientContext.REDIRECT_LOCATIONS` 。

  - ### 构造方法摘要

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

  - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected URI` | `createLocationURI(String location)`
    `URI` | `getLocationURI(HttpRequest request, HttpResponse response, HttpContext context)`
    `HttpUriRequest` | `getRedirect(HttpRequest request, HttpResponse response, HttpContext context)` 确定给定来自目标服务器和当前请求执行上下文的响应的重定向位置，并生成要发送到该位置的新请求。
    `protected boolean` | `isRedirectable(String method)`
    `boolean` | `isRedirected(HttpRequest request, HttpResponse response, HttpContext context)` 确定一个请求是否应该被重定向到一个新的位置，给定来自目标服务器的响应。

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

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

- - ### 字段详细信息

    - #### REDIRECT_LOCATIONS

          @Deprecated
          public static final String REDIRECT_LOCATIONS

      已过时。 （4.3）使用`HttpClientContext.REDIRECT_LOCATIONS` 。
      另请参见：
        Constant Field Values

    - #### INSTANCE

          public static final DefaultRedirectStrategy INSTANCE

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

    - #### DefaultRedirectStrategy

          public DefaultRedirectStrategy()

  - ### 方法详细信息

    - #### isRedirected

          public boolean isRedirected(HttpRequest request,
                             HttpResponse response,
                             HttpContext context)
                               throws ProtocolException

      说明从接口`RedirectStrategy`复制
      确定一个请求是否应该被重定向到一个新的位置，给定来自目标服务器的响应。
      Specified by:
        `isRedirected`在接口 `RedirectStrategy`
      参数
        `request` - 执行的请求
        `response` - 从目标服务器收到的响应
        `context` - 请求执行的上下文
      结果
        `true`如果请求被重定向，否则 `false`
      异常
        `ProtocolException`

    - #### getLocationURI

          public URI getLocationURI(HttpRequest request,
                           HttpResponse response,
                           HttpContext context)
                             throws ProtocolException

      异常
        `ProtocolException`

    - #### createLocationURI

          protected URI createLocationURI(String location)
                                   throws ProtocolException

      异常
        `ProtocolException`
      从以下版本开始：
        4.1

    - #### isRedirectable

          protected boolean isRedirectable(String method)

      从以下版本开始：
        4.2

    - #### getRedirect

          public HttpUriRequest getRedirect(HttpRequest request,
                                   HttpResponse response,
                                   HttpContext context)
                                     throws ProtocolException

      描述从接口`RedirectStrategy`复制
      确定给定来自目标服务器和当前请求执行上下文的响应的重定向位置，并生成要发送到该位置的新请求。
      Specified by:
        `getRedirect`在接口 `RedirectStrategy`
      参数
        `request` - 执行的请求
        `response` - 从目标服务器收到的响应
        `context` - 请求执行的上下文
      结果
        重定向请求
      异常
        `ProtocolException`

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

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