鍍金池/ 問答/Java  Android/ Java CookieManager為什么獲取不到cookie,我獲取響應(yīng)頭的時(shí)

Java CookieManager為什么獲取不到cookie,我獲取響應(yīng)頭的時(shí)候能看到set-cookie這個(gè)頭部呀

題目描述

題目來源及自己的思路

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)
URL url = new URL("HTTP://km.oa.com");

    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setInstanceFollowRedirects(false);
    CookieManager manager = new CookieManager();
    manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
    CookieHandler.setDefault(manager);
    
    con.getInputStream();
    System.out.println(con.getResponseCode());
    CookieStore store = manager.getCookieStore();
    List<HttpCookie> cookie = store.getCookies();
    System.out.println(cookie);
    for (HttpCookie coo : cookie) {
        System.out.println(coo);
    }
    String str = con.getHeaderField("set-cookie");
    System.out.println(str);

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

圖片描述

回答
編輯回答
初念

需要在

manager.getCookieStore();之前再做一次openConnection();和getInputStream();
也可以考慮用HttpClient獲取cookie
CookieStore cookieStore = new BasicCookieStore();
httpClient = HttpClients.custom().setDefaultCookieStore(cookieStore).build();
List<Cookie> cookies = cookieStore.getCookies();
2017年4月1日 00:24