java.lang.Object
java.net.CookieHandler
- 直接已知的子类:
-
CookieManager
CookieHandler对象提供了一个回调机制,用于将HTTP状态管理策略实现连接到HTTP协议处理程序中。HTTP状态管理机制指定了一种通过HTTP请求和响应创建有状态会话的方式。
可以通过执行CookieHandler.setDefault(CookieHandler)注册一个系统范围的CookieHandler,以供HTTP URL流协议处理程序使用。可以通过调用CookieHandler.getDefault()来检索当前注册的CookieHandler。有关HTTP状态管理的更多信息,请参见RFC 2965: HTTP状态管理机制
- 自Java版本:
- 1.5
- 外部规范
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription从请求头中的指定URI的cookie缓存中获取所有适用的cookie。static CookieHandler
获取系统范围的cookie处理程序。abstract void
将所有适用的cookie设置到cookie缓存中,例如响应头字段中命名为Set-Cookie2的字段。static void
setDefault
(CookieHandler cHandler) 设置(或取消设置)系统范围的cookie处理程序。
-
Constructor Details
-
CookieHandler
public CookieHandler()子类调用的构造函数。
-
-
Method Details
-
getDefault
获取系统范围的cookie处理程序。- 返回:
- 系统范围的cookie处理程序;返回null表示当前未设置系统范围的cookie处理程序。
- 抛出:
-
SecurityException
- 如果已安装安全管理器并且拒绝NetPermission
("getCookieHandler")
- 参见:
-
setDefault
设置(或取消设置)系统范围的cookie处理程序。注意:非标准的http协议处理程序可能会忽略此设置。- 参数:
-
cHandler
- HTTP cookie处理程序,或null
表示取消设置。 - 抛出:
-
SecurityException
- 如果已安装安全管理器并且拒绝NetPermission
("setCookieHandler")
- 参见:
-
get
public abstract Map<String,List<String>> get(URI uri, Map<String, List<String>> requestHeaders) throws IOException从请求头中的指定URI的cookie缓存中获取所有适用的cookie。作为参数传递的
URI
指定了cookie的预期用途。特别是,方案应反映出cookie是否将通过http、https发送,或者在javascript等其他上下文中使用。主机部分应反映出cookie的目的地或在javascript情况下的来源。实现应考虑
URI
和cookie属性以及安全设置,以确定应返回哪些cookie。HTTP协议实现者应确保在添加所有与选择cookie相关的请求头之后调用此方法,并在发送请求之前调用。
- 参数:
-
uri
- 表示cookie预期用途的URI
-
requestHeaders
- 从请求头字段名称到当前请求头字段值列表的映射 - 返回:
- 一个不可变的状态管理头映射,字段名为"Cookie"或"Cookie2",对应包含状态信息的cookie列表
- 抛出:
-
IOException
- 如果发生I/O错误 -
IllegalArgumentException
- 如果任一参数为null - 参见:
-
put
将响应头中命名为Set-Cookie2的字段中的所有适用cookie设置到cookie缓存中。- 参数:
-
uri
- cookie来源的URI
-
responseHeaders
- 从字段名称到返回的响应头字段值列表的不可变映射 - 抛出:
-
IOException
- 如果发生I/O错误 -
IllegalArgumentException
- 如果任一参数为null - 参见:
-