簡體   English   中英

帶有Cookie的URLConnection?

[英]URLConnection with Cookies?

我正在嘗試制作一個支持cookie的URLConnection。 根據文檔,我可以使用:

CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);

我無法使此代碼正常工作,然后我看到這僅適用於API 9(2.3)。 但是,在較舊的模擬器中使用CookieManager時不會出現錯誤,CookieManager存在,但無法構造。 有什么方法可以使此版本適用於早期版本? 我試過了:

            cookieManager.setAcceptCookie(true);
            URLConnection con = u.openConnection();

            con.setRequestProperty("Cookie", cookieManager.getInstance().getCookie(url););
            con.setDoOutput(true);
            con.connect();
            String addCookie = con.getHeaderField("Set-Cookie");
            System.out.println(con.getHeaderFields().toString());
            if (addCookie!=null) {
                cookieManager.getInstance().setCookie(url, addCookie);
            }

但這不起作用。

我能夠使用Ian Brown的CookieManager類啟用Cookie: http ://www.hccp.org/java-net-cookie-how-to.html

我將其重命名為IansCookieManager,設置了一個類變量_CM = new IansCookieManager,現在很簡單:

            URLConnection conn = u.openConnection();
            _CM.setCookies(conn);
            conn.connect();
            _CM.storeCookies(conn);
            ... 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM