org.apache.http.impl.auth

## Class DigestScheme

- java.lang.Object
- - org.apache.http.impl.auth.AuthSchemeBase
  - - org.apache.http.impl.auth.RFC2617Scheme
    - - org.apache.http.impl.auth.DigestScheme

- All Implemented Interfaces:
    Serializable ， AuthScheme ， ContextAwareAuthScheme

      public class DigestScheme
      extends RFC2617Scheme

  Digest认证方案，如RFC 2617所定义。支持MD5（默认）和MD5-sess。 目前只支持qop = auth或no qop。 qop = auth-int不受支持。 如果提供auth和auth-int，则使用auth。

  由于在生成的Authentication头文件中包含摘要用户名作为明文，用户名的字符集必须与连接使用的HTTP元素字符集兼容。

  从以下版本开始：
    4
  另请参见：
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.http.impl.auth.AuthSchemeBase

      `challengeState`

  - ### 构造方法摘要

    构造方法
    Constructor and Description
    `DigestScheme()`
    `DigestScheme(ChallengeState challengeState)` 已过时。 （4.3）不要使用。
    `DigestScheme(Charset credentialsCharset)`

  - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Header` | `authenticate(Credentials credentials, HttpRequest request)` 已过时。 （4.2）使用`ContextAwareAuthScheme.authenticate( Credentials, HttpRequest, org.apache.http.protocol.HttpContext)`
    `Header` | `authenticate(Credentials credentials, HttpRequest request, HttpContext context)` 为给定的一组`Credentials` ，方法名称和URI生成摘要授权字符串。
    `static String` | `createCnonce()` 根据当前时间创建随机cnonce值。
    `String` | `getSchemeName()` 返回摘要认证方案的文字指定。
    `boolean` | `isComplete()` 测试摘要认证过程是否完成。
    `boolean` | `isConnectionBased()` 退货 `false` 。
    `void` | `overrideParamter(String name, String value)`
    `void` | `processChallenge(Header header)` 处理摘要挑战
    `String` | `toString()`

    - ### Methods inherited from class org.apache.http.impl.auth.RFC2617Scheme

      `getCredentialsCharset, getParameter, getParameters, getRealm, parseChallenge`

    - ### Methods inherited from class org.apache.http.impl.auth.AuthSchemeBase

      `getChallengeState, isProxy`

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

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

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

    - #### DigestScheme

          public DigestScheme(Charset credentialsCharset)

      从以下版本开始：
        4.3

    - #### DigestScheme

          @Deprecated
          public DigestScheme(ChallengeState challengeState)

      已过时。 （4.3）不要使用。
      创建具有给定挑战状态的 `DigestScheme`实例。
      从以下版本开始：
        4.2

    - #### DigestScheme

          public DigestScheme()

  - ### 方法详细信息

    - #### processChallenge

          public void processChallenge(Header header)
                                throws MalformedChallengeException

      处理摘要挑战
      Specified by:
        `processChallenge`在界面 `AuthScheme`
      重写：
        `processChallenge`在 `AuthSchemeBase`
      参数
        `header` - 挑战头
      异常
        `MalformedChallengeException` - 如果认证挑战格式 `MalformedChallengeException` ，则会抛出此异常

    - #### isComplete

          public boolean isComplete()

      测试摘要认证过程是否完成。
      结果
        `true`如果Digest授权已被处理，否则为 `false` 。

    - #### getSchemeName

          public String getSchemeName()

      返回摘要认证方案的文字指定。
      结果
        `digest`

    - #### isConnectionBased

          public boolean isConnectionBased()

      退货`false` 。 摘要认证方案是基于请求的。
      结果
        `false` 。

    - #### overrideParamter

          public void overrideParamter(String name,
                              String value)

    - #### authenticate

          @Deprecated
          public Header authenticate(Credentials credentials,
                                       HttpRequest request)
                              throws AuthenticationException

      已过时。 （4.2）使用`ContextAwareAuthScheme.authenticate( Credentials, HttpRequest, org.apache.http.protocol.HttpContext)`
      说明从界面： `AuthScheme`复制
      为给定的一组`Credentials`生成一个授权字符串。
      参数
        `credentials` - 要用于验证的一组凭据
        `request` - 请求被认证
      结果
        授权字符串
      异常
        `AuthenticationException` - 如果授权字符串由于身份验证失败而无法生成

    - #### authenticate

          public Header authenticate(Credentials credentials,
                            HttpRequest request,
                            HttpContext context)
                              throws AuthenticationException

      为给定的一组`Credentials` ，方法名称和URI生成摘要授权字符串。
      Specified by:
        `authenticate`在界面 `ContextAwareAuthScheme`
      重写：
        `authenticate`在 `AuthSchemeBase`
      参数
        `credentials` - 用于验证的一组凭据
        `request` - 请求被认证
        `context` - HTTP上下文
      结果
        摘要授权字符串
      异常
        `InvalidCredentialsException` - 如果认证凭证无效或不适用于此认证方案
        `AuthenticationException` - 如果由于身份验证失败而无法生成授权字符串

    - #### createCnonce

          public static String createCnonce()

      根据当前时间创建随机cnonce值。
      结果
        cnonce值为String。

    - #### toString

          public String toString()

      重写：
        `toString`在 `AuthSchemeBase`

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

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