Module  java.base
软件包  java.net

Class CookieHandler

  • 已知直接子类:
    CookieManager


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

    可以通过执行CookieHandler.setDefault(CookieHandler)来注册由HTTP协议处理程序使用的系统级CookieHandler。 可以通过调用CookieHandler.getDefault()来检索当前注册的CookieHandler。 有关HTTP状态管理的更多信息,请参阅RFC 2965: HTTP State Management Mechanism

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

      • CookieHandler

        public CookieHandler​()
    • 方法详细信息

      • getDefault

        public static CookieHandler getDefault​()
        获取系统范围的Cookie处理程序。
        结果
        系统范围的Cookie处理程序; 空返回意味着当前没有设置系统范围的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和cookies属性和安全设置来确定哪些应该返回,这取决于实现。

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

        参数
        uri - 表示Cookie的预期用途的 URI
        requestHeaders - - 从请求头字段名称映射到表示当前请求头的字段值的列表
        结果
        来自状态管理标题的不可变地图,字段名称为“Cookie”或“Cookie2”到包含状态信息的Cookie列表
        异常
        IOException - 如果发生I / O错误
        IllegalArgumentException - 如果任一参数为空
        另请参见:
        put(URI, Map)
      • put

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