阅读(1555) (6)

鸿蒙OS CookieHandler

2022-06-06 16:28:03 更新

CookieHandler

java.lang.Object

|---java.net.CookieHandler

public abstract class CookieHandler
extends Object

CookieHandler 对象提供了一种回调机制来将 HTTP 状态管理策略实现连接到 HTTP 协议处理程序。 HTTP 状态管理机制指定了一种使用 HTTP 请求和响应创建有状态会话的方法。

HTTP 协议处理程序使用的系统范围的 CookieHandler 可以通过执行 CookieHandler.setDefault(CookieHandler) 来注册。 当前注册的 CookieHandler 可以通过调用 CookieHandler.getDefault() 来获取。

构造函数摘要

构造函数 描述
CookieHandler()

方法总结

修饰符和类型 方法 描述
abstract Map<String,List<String>> get(URI uri, Map<String,List<String>> requestHeaders) 从请求标头中指定 uri 的 cookie 缓存中获取所有适用的 cookie。
static CookieHandler getDefault() 获取系统范围的 cookie 处理程序。
abstract void put(URI uri, Map<String,List<String>> responseHeaders) 设置所有适用的 cookie,示例是名为 Set-Cookie2 的响应头字段,存在于 cookie 缓存中的响应头中。
static void setDefault(CookieHandler cHandler) 设置(或取消设置)系统范围的 cookie 处理程序。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造函数详细信息

CookieHandler

public CookieHandler()

方法详情

getDefault

public static CookieHandler getDefault()

获取系统范围的 cookie 处理程序。

返回:

系统范围的 cookie 处理程序; null 返回意味着当前没有设置系统范围的 cookie 处理程序。

Throws:

Throw名称 Throw描述
SecurityException 如果已安装安全管理器并且它拒绝 NetPermission("getCookieHandler")

setDefault

public static void setDefault(CookieHandler cHandler)

设置(或取消设置)系统范围的 cookie 处理程序。 注意:非标准 http 协议处理程序可能会忽略此设置。

参数:

参数名称 参数描述
cHandler HTTP cookie 处理程序,或 null 取消设置。

Throws:

Throw名称 Throw描述
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)中使用。 在 javascript 的情况下,主机部分应反映 cookie 的目的地或它们的来源。

由实现来考虑 URI 和 cookie 属性和安全设置来确定应该返回哪些。

HTTP 协议实现者应确保在添加与选择 cookie 相关的所有请求标头之后、发送请求之前调用此方法。

参数:

参数名称 参数描述
uri 表示 cookie 的预期用途的 URI
requestHeaders - 从请求标头字段名称到表示当前请求标头的字段值列表的映射

返回:

从状态管理标头(字段名称为“Cookie”或“Cookie2”)到包含状态信息的 cookie 列表的不可变映射

Throws:

Throw名称 Throw描述
IOException 如果发生 I/O 错误
IllegalArgumentException 如果任一参数为空

put

public abstract void put(URI uri, Map<String,List<String>> responseHeaders) throws IOException

设置所有适用的 cookie,示例是名为 Set-Cookie2 的响应头字段,存在于 cookie 缓存中的响应头中。

参数:

参数名称 参数描述
uri cookie 来自的 URI
responseHeaders 从字段名称到表示返回的响应标头字段的字段值列表的不可变映射

Throws:

Throw名称 Throw描述
IOException 如果发生 I/O 错误
IllegalArgumentException 如果任一参数为空