- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
下面是我的代码,用于在 android 应用程序中获取一些 cookie 后身份验证。
String url = "https://host:port/sso/SSOServlet";
BasicCookieStore cookieJar = new BasicCookieStore();
CookieManager cookieMgr = CookieManager.getInstance();
String host = null;
URL urlObj = Util.getUrl(url);
host = urlObj.getHost();
String cookiesHost = cookieMgr.getCookie(host); // value for cookiesHost is JSESSIONID
String cookiesURL = cookieMgr.getCookie(url); // value for cookiesURL is JSESSIONID and a custom Session id for application.
因此,如果我使用 host
而不是 url
,cookieMgr.getCookie()
会为特定服务器返回不同的值。这是为什么?对于某些服务器,如果我使用 host
或 url
,它会返回相同的值。为什么会发生这种情况?
这之前为主机或 url 返回相同的值,但我正在使用的这台服务器返回我在代码注释中提到的值。
最佳答案
如果不知道每个变量返回的是什么,就很难确定导致不同结果的确切问题。
当您看到 cookie 中的差异时,请提供 cookiesHost
和 cookiesURL
的值。
如您问题的第一个回复中所述,如果您使用 example.com
(HOST),则会为 example.com
创建一个 session 和一个 cookie,然后大多数可能重定向到 BaseURL www.example.com
会创建一个新 session 。
关于java - CookieManager.getCookie() 返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37975727/
我正在尝试获取 m.facebook.com 的 cookie通过 CookieManager.getInstance().getCookie() 加载到 android.webkit.WebView
I've seen answers about how this should work with the old DefaultHttpClient but there's not a good e
很遗憾,Android 有大量的 cookie 管理器。 HttpURLConnection 的 cookie 由 java.net.CookieManager 维护,WebView 的 cookie
引用这个 How to secure a cookie in android? 我想在我的 android 应用程序中将 cookie 与 webview 一起使用。我想设置 cookie 的安全属性
我有一个应用程序,该应用程序进行多次网络调用以进行身份验证,然后返回一个 JSON。我的 Web 调用是针对 https 服务器的,我使用的是 HTTPURlConnection。 我需要将 se
我正在尝试通过线程建立多个连接。 但是每个连接似乎都会覆盖对方的 cookie,导致连接使用错误的 cookie。 在线程类的构造函数中: manager = new CookieManage
我正在尝试为每个 chromium 浏览器实例创建单独的用户 session ,但找不到任何有关如何创建的相关示例。目的是为每个浏览器实例单独存储 cookie。 谁能指出我正确的方向?我会发布相关代
我正在制作一个访问网站的 Java 程序,这取决于分发 cookie,以便我可以登录。我发现使用 CookieManager 将允许我的 URLConnection 至少收集这些 cookie,但是如
我正在使用 cookiemanager setcookie API 设置 cookie,当我执行 cookiemanager getcookie 时,我没有获取域和到期日期,下面是我的代码。 Stri
让我们为 cookie 存储做准备: CookieSyncManager.createInstance(getApplicationContext()); CookieSyncManager.getI
在我的 android 应用程序中,我有一个 webview。它从多个域加载 URL。我需要删除特定域中的所有 cookie。我想保留来自其他域的 cookie。但是我需要从一个域中删除所有 cook
在我的应用程序中,我从 HttpGet 请求中获取两个 cookie,并将它们存储在 CookieManager 中,如下所示: //Clear old cookies CookieManager.g
下面是我的代码,用于在 android 应用程序中获取一些 cookie 后身份验证。 String url = "https://host:port/sso/SSOServlet"; BasicCo
我需要将一个具有 native 登录屏幕的应用程序与在 web View (混合应用程序)内运行的应用程序的其余部分集成。这听起来像是一种常见的方法,但我在将 session 数据(cookie)从
OkHttpClient client = new OkHttpClient(); CookieManager cookieManager = new CookieManager(); cookieM
我使用以下命令向站点发出 HTTP 请求: //第一次调用服务器时执行 static { cookieManager = new CookieManager(); co
我知道 CookieManager 的存在, 但如何只删除域的 cookie? 有人可以帮我处理一些代码 fragment 吗? 最佳答案 public void clearCookies(Strin
对于 Android CookieManager类有一个方法——getCookie(String url) . 为此,我们需要知道正确的 url。 有没有办法获取 CookieManager 中的所有
如何将 cookie 从 Web 浏览器放入 Indy CookieManager 以进行 Http 请求。 我登录到这样的网站后会收到 cookie.. 测试项目 = http://www.mega
我正在使用 Spring 的 WebServiceGatewaySupport 连接到供应商的 SOAP Web 服务。该服务的要求之一是客户端必须维护服务器发送的 session cookie。 我
我是一名优秀的程序员,十分优秀!