关于android使用Xutil保存cookie

来源:互联网 发布:nginx 自定义变量 编辑:程序博客网 时间:2024/06/04 22:40

在http连接中,会存在着cookie状态,需要访问登录后的网页,就必须保存用于认证的cookie;本文将介绍使用Xutils框架如何来保存cookie。

使用Xutils保存cookie

1
HttpUtils com.lidroid.xutils.HttpUtils.configCookieStore(CookieStore cookieStore)

       在Xutls中有一个configCookieStore用来设置请求中的Cookie对象,参数类型org.apache.http.client.CookieStore,也就是说在登录后,保存CookieStore类型cookie即可。

1
2
3
4
5
//实现全局共享,有很多种方法,可以使用自定义Application里面增加变量
//也可以在普通类中使用静态变量,这里使用的是静态变量方式。
public class NetworkTool {
    public static CookieStore cookieStore=null;
}

       登录成功后保存Cookie到静态变量中

1
2
3
//http为HttpUtils实例
DefaultHttpClient httpClient = (DefaultHttpClient) http.getHttpClient();
NetworkTool.cookieStore = httpClient.getCookieStore();

       最后只需要在请求中设置保存好的Cookie即可

1
2
//http为HttpUtils实例
http.configCookieStore(NetworkTool.cookieStore);

非Xutils中保存Cookie

       cookie存在于HttpClient中,简单理解就是在所有请求中使用统一的HttpClient即可,或者得到cookieStore,与Xutils方式一致。

持久化保存Cookie

       有时需要持久化地保存Cookie,用于应用程序退出后,依旧可用;

1
2
//可以使用SharedPreferences、SQLite、XML等方法保存
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
0 0
原创粉丝点击