でうまくいっていたものが、
HttpURLConnection + CookieManager
でうまくいかないときは、サーバーが RFC 2965 に対応していない可能性があります。RFC 2109 しかサポートしていないサーバーに対応するには、HttpCookieのバージョンに 0 を指定します。
このことは、HttpURLConnectionのページ の「Sessions with Cookies」に書いてあります。このページでは新しくHttpCookieを作っていますが、次のように保存されているHttpCookieを上書きすることもできます。
CookieHandler cookieHandler = CookieHandler.getDefault();
CookieManager cookieManager = (CookieManager) cookieHandler;
CookieStore cookieStore = cookieManager.getCookieStore();
URI uri = URI.create(url);
List<HttpCookie> httpCookies = cookieStore.get(uri);
if (httpCookies != null && httpCookies.size() > 0) {
HttpCookie httpCookie = httpCookies.get(0);
httpCookie.setVersion(0);
}
android初心者です。いろいろと学ばせていただいています。ありがとうございます。
返信削除