【问题标题】:CookieManager in AndroidAndroid 中的 CookieManager
【发布时间】:2017-02-01 03:01:22
【问题描述】:

https://developer.android.com/reference/java/net/CookieHandler.html#getDefault() 的 CookieHandler 文档说

Sets (or unsets) the system-wide cookie handler. Note: non-standard http protocol handlers may ignore this setting.

这里的“系统范围”是什么意思?打电话CookierHandler.setDefault(null);是不是所有应用的cookies都会被删除

【问题讨论】:

    标签: android cookies


    【解决方案1】:

    这意味着通过HttpURLConnection 的所有请求都将使用CookieHandler.getDefault()。因此,如果您将所有请求设置为 null,那么现在将不会向服务器发送 cookie。

    如果你想从当前CookieManager 中删除 cookie,你应该使用类似

        final CookieHandler cookieHandler = CookieHandler.getDefault();
        if (cookieHandler instanceof CookieManager) {
            ((CookieManager)cookieHandler).getCookieStore().removeAll();
        }
    

    这个 javadoc 不是特定于 android 的,它是从 java se 继承的。而不是意味着其他应用程序。 'System-wide' 仅适用于当前的 java 进程。

    【讨论】:

      猜你喜欢
      • 2012-05-17
      • 2012-08-22
      • 1970-01-01
      • 2020-01-02
      • 2018-03-22
      • 2015-07-30
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      相关资源
      最近更新 更多