Java 与Cookies的连接?

Java 与Cookies的连接?,java,android,cookies,urlconnection,Java,Android,Cookies,Urlconnection,我正在尝试建立一个支持cookies的URL连接。根据文档,我可以使用: CookieManager cookieManager = new CookieManager(); CookieHandler.setDefault(cookieManager); 我无法让这段代码工作,然后我看到这只适用于API 9(2.3)。但是,在旧的仿真器中使用CookieManager时没有出现错误,CookieManager存在,但无法构造。有没有什么方法可以让它在早期版本中工作?我试过:

我正在尝试建立一个支持cookies的URL连接。根据文档,我可以使用:

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:

我将其重命名为IANSookieManager,设置一个类变量_CM=new IANSookieManager,现在很简单:

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

在这种情况下,您是客户机还是服务器?如果您是客户机,为什么要使用
Set Cookie
头?此客户机读取此消息,它是由服务器发送的。哦,你救了我的命…不是答案而是你的问题…谢谢loooooooooooooooottttttttttttttttttttttttt@SushilKumar你是什么意思?这是一个很好的基本饼干管理器。我喜欢。我还觉得奇怪的是,Android工程师花了这么长时间才加入
java.net.CookieManager
类。在任何一种情况下,我相信这两个类(Ian类和java.net类)都只是暂时存储cookie(即,它们只会保留到应用程序进程终止)。因此,下次用户启动应用程序时,很可能需要再次登录/etc?如果不是,除非您序列化了类并将其保存在某个位置。此外,离开和返回应用程序不足以“退出”应用程序,因此应保留cookie和浏览器会话。没错,用户必须在两者之间执行一些内存密集型操作,以使系统终止应用程序进程。序列化cookie管理类是一个好主意。可能最好使用将其写入内部存储器?现在我使用了一种非常基本的方法,在
SharedReferences
中,我只保存作为
字符串返回给我的单个会话cookie。我想我现在要尝试使用这个可序列化的cookie管理器。