java.lang.Object
|---java.net.CookieHandler
|---|---java.net.CookieManager
public class CookieManager
extends CookieHandler
CookieManager 提供了 CookieHandler 的具体实现,它将 cookie 的存储与接受和拒绝 cookie 的策略分开。 CookieManager 使用管理存储的 CookieStore 和 CookiePolicy 对象进行初始化,该对象对 cookie 接受/拒绝做出策略决策。
java.net 包中的 HTTP cookie 管理如下所示:
use
CookieHandler <------- HttpURLConnection
^
| impl
| use
CookieManager -------> CookiePolicy
| use
|--------> HttpCookie
| ^
| | use
| use |
|--------> CookieStore
^
| impl
|
Internal in-memory implementation
用户可以通过多种方式连接自己的 HTTP cookie 管理行为,例如
// this should be done at the beginning of an HTTP session
CookieHandler.setDefault(new CookieManager(new MyCookieStore(), new MyCookiePolicy()));
// 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());
构造函数 | 描述 |
---|---|
CookieManager() | 创建一个新的 cookie 管理器。 |
CookieManager(CookieStore store, CookiePolicy cookiePolicy) | 使用指定的 cookie 存储和 cookie 策略创建一个新的 cookie 管理器。 |
修饰符和类型 | 方法 | 描述 |
---|---|---|
MapString,ListString | get(URI uri, MapString,ListString requestHeaders) | 从请求标头中指定 uri 的 cookie 缓存中获取所有适用的 cookie。 |
CookieStore | getCookieStore() | 检索当前的 cookie 存储。 |
void | put(URI uri, MapString,ListString responseHeaders) | 设置所有适用的 cookie,示例是名为 Set-Cookie2 的响应头字段,存在于 cookie 缓存中的响应头中。 |
void | setCookiePolicy(CookiePolicy cookiePolicy) | 设置此 cookie 管理器的 cookie 策略。 |
从类 java.net.CookieHandler 继承的方法 |
---|
getDefault, setDefault |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public CookieManager()
创建一个新的 cookie 管理器。
此构造函数将创建具有默认 cookie 存储和接受策略的新 cookie 管理器。 效果同 CookieManager(null, null)。
public CookieManager(CookieStore store, CookiePolicy cookiePolicy)
使用指定的 cookie 存储和 cookie 策略创建一个新的 cookie 管理器。
参数:
参数名称 | 参数描述 |
---|---|
store | Cookie 管理器使用的 CookieStore。 如果为 null,则 cookie 管理器将使用默认值,即内存中的 CookieStore 实现。 |
cookiePolicy | cookie 管理器用作策略回调的 CookiePolicy 实例。 如果为 null,将使用 ACCEPT_ORIGINAL_SERVER。 |
public void setCookiePolicy(CookiePolicy cookiePolicy)
设置此 cookie 管理器的 cookie 策略。
默认情况下,CookieManager 的实例将具有 cookie 策略 ACCEPT_ORIGINAL_SERVER。 用户始终可以调用此方法来设置另一个 cookie 策略。
参数:
参数名称 | 参数描述 |
---|---|
cookiePolicy | cookie 政策。 可以为 null,这对当前的 cookie 策略没有影响。 |
public CookieStore getCookieStore()
检索当前的 cookie 存储。
返回:
cookie 管理器当前使用的 cookie 存储。
public MapString,ListString get(URI uri, MapString,ListString requestHeaders) throws IOException
从类复制的描述:CookieHandler
从请求标头中指定 uri 的 cookie 缓存中获取所有适用的 cookie。
作为参数传递的 URI 指定了 cookie 的预期用途。 特别是该方案应反映 cookie 是通过 http、https 发送还是在其他上下文(如 javascript)中使用。 在 javascript 的情况下,主机部分应反映 cookie 的目的地或它们的来源。
由实现来考虑 URI 和 cookie 属性和安全设置来确定应该返回哪些。
HTTP 协议实现者应确保在添加与选择 cookie 相关的所有请求标头之后、发送请求之前调用此方法。
指定者:
进入类 CookieHandler
参数:
参数名称 | 参数描述 |
---|---|
uri | 表示 cookie 的预期用途的 URI |
requestHeaders | - 从请求标头字段名称到表示当前请求标头的字段值列表的映射 |
返回:
从状态管理标头(字段名称为“Cookie”或“Cookie2”)到包含状态信息的 cookie 列表的不可变映射
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
public void put(URI uri, MapString,ListString responseHeaders) throws IOException
从类复制的描述:CookieHandler
设置所有适用的 cookie,示例是名为 Set-Cookie2 的响应头字段,存在于 cookie 缓存中的响应头中。
指定者:
放入类 CookieHandler
参数:
参数名称 | 参数描述 |
---|---|
uri | cookie 的来源 URI |
responseHeaders | 从字段名称到表示返回的响应标头字段的字段值列表的不可变映射 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。