模块  java.base
软件包  java.net

Class CookieHandler

  • 已知直接子类:
    CookieManager

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

    可以通过执行CookieHandler.setDefault(CookieHandler)来注册HTTP URL stream protocol handler要使用的系统范围的CookieHandler。 可以通过调用CookieHandler.getDefault()来检索当前注册的CookieHandler。 有关HTTP状态管理的更多信息,请参见RFC 2965: HTTP State Management Mechanism

    从以下版本开始:
    1.5
    • 构造方法详细信息

      • CookieHandler

        public CookieHandler()
    • 方法详细信息

      • getDefault

        public static CookieHandler getDefault()
        获取系统范围的cookie处理程序。
        结果
        系统范围的cookie处理程序; null返回表示当前没有设置系统范围的cookie处理程序。
        异常
        SecurityException - 如果已安装安全管理器且拒绝NetPermission ("getCookieHandler")
        另请参见:
        setDefault(CookieHandler)
      • setDefault

        public static void setDefault​(CookieHandler cHandler)
        设置(或取消设置)系统范围的cookie处理程序。 注意:非标准http协议处理程序可能会忽略此设置。
        参数
        cHandler - 要取消设置的HTTP cookie处理程序或 null
        异常
        SecurityException - 如果已安装安全管理器且拒绝NetPermission ("setCookieHandler")
        另请参见:
        getDefault()
      • 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列表
        异常
        IOException - 如果发生I / O错误
        IllegalArgumentException - 如果任一参数为null
        另请参见:
        put(URI, Map)
      • put

        public abstract void put​(URI uri,
                                 Map<String,​List<String>> responseHeaders)
                          throws IOException
        设置所有适用的cookie,示例是名为Set-Cookie2的响应头字段,在响应头中显示为cookie缓存。
        参数
        uri - 一个 URI ,其中cookie来自
        responseHeaders - 从字段名称到表示返回的响应头字段的字段值列表的不可变映射
        异常
        IOException - 如果发生I / O错误
        IllegalArgumentException - 如果任一参数为null
        另请参见:
        get(URI, Map)