URLConnection是否包含Cookie?

问题描述

| 我正在尝试建立一个支持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);
            ...