【发布时间】:2016-07-06 21:54:12
【问题描述】:
下面是我在 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 返回相同的值,但我正在使用的这台服务器正在返回我在代码 cmets 中提到的值。
【问题讨论】: