CookieManager 类

定义

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

[Android.Runtime.Register("java/net/CookieManager", DoNotGenerateAcw=true)]
public class CookieManager : Java.Net.CookieHandler
[<Android.Runtime.Register("java/net/CookieManager", DoNotGenerateAcw=true)>]
type CookieManager = class
    inherit CookieHandler
继承
CookieManager
属性

注解

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。 CookieManager 使用 CookieStore 管理存储的对象进行 CookiePolicy 初始化,该对象针对 Cookie 接受/拒绝做出策略决策。

java.net 包中的 HTTP Cookie 管理如下所示: <blockquote>

{@code
                             use
            CookieHandler <------- HttpURLConnection
                  ^
                  | impl
                  |         use
            CookieManager -------> CookiePolicy
                        |   use
                        |--------> HttpCookie
                        |              ^
                        |              | use
                        |   use        |
                        |--------> CookieStore
                                       ^
                                       | impl
                                       |
                             Internal in-memory implementation
            }

<ul><li> CookieHandler 是 Cookie 管理的核心。 用户可以调用 CookieHandler.setDefault 来设置要使用的具体 CookieHanlder 实现。 </li li><> CookiePolicy.shouldAccept 将由 CookieManager.put 调用,以查看是否应接受并放入 Cookie 存储中。 用户可以使用三个预定义的 CookiePolicy 中的任何一个,即ACCEPT_ALL、ACCEPT_NONE和ACCEPT_ORIGINAL_SERVER,或者用户可以定义自己的 CookiePolicy 实现并告知 CookieManager 使用它。 </li><> CookieStore 是存储任何接受的 HTTP Cookie 的位置。 如果未在创建时指定,CookieManager 实例将使用内部内存中实现。 或者,用户可以实现一个并告知 CookieManager 使用它。 </li li><> 目前,CookieManager 仅使用 CookieStore.add(URI、HttpCookie)和 CookieStore.get(URI)。 其他方案是为了完整性,可能需要更复杂的 CookieStore 实现,例如 NetscapeCookieStore。 </li></ul></blockquote>

用户可以通过多种方式挂钩自己的 HTTP Cookie 管理行为,例如 <blockquote><ul><li>Use CookieHandler.setDefault,将全新的 CookieHandler 实现 <li>Let CookieManager 设置为默认 CookieHandler 实现,但实现用户自己的 CookieStoreCookiePolicy 告知默认 CookieManager 使用它们: <blockquote>

// this should be done at the beginning of an HTTP session
                  CookieHandler.setDefault(new CookieManager(new MyCookieStore(), new MyCookiePolicy()));

</blockquote><li>Let CookieManager 是默认 CookieHandler 实现,但使用自定义 CookiePolicy: <blockquote>

// this should be done at the beginning of an HTTP session
                  CookieHandler.setDefault(new CookieManager());
                  // this can be done at any point of an HTTP session
                  ((CookieManager)CookieHandler.getDefault()).setCookiePolicy(new MyCookiePolicy());

</blockquote/ul></blockquote><>

实现符合 RFC 2965 第 3.3 节。

已在 1.6 中添加。

Java文档java.net.CookieManager

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

构造函数

名称 说明
CookieManager()

创建新的 Cookie 管理器。

CookieManager(ICookieStore, ICookiePolicy)

使用指定的 Cookie 存储和 Cookie 策略创建新的 Cookie 管理器。

CookieManager(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
CookieStore

检索当前 Cookie 存储。

Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
JniPeerMembers

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

PeerReference

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

名称 说明
Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
Dispose(Boolean)

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
Get(URI, IDictionary<String,IList<String>>)

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Put(URI, IDictionary<String,IList<String>>)

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

SetCookiePolicy(ICookiePolicy)

设置此 Cookie 管理器的 Cookie 策略。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
IJavaPeerable.Finalized()

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

CookieManager 提供了具体实现 CookieHandler,它将 Cookie 的存储与接受和拒绝 Cookie 的策略分开。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于