zoukankan      html  css  js  c++  java
  • Android使用Xutils保存cookie实现登录后访问

    http://blog.memecodes.com/340.html

    在http连接中,会存在着cookie状态,需要访问登录后的网页,就必须保存用于认证的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();
  • 相关阅读:
    游戏中转轮抽奖的算法实现[转]
    前端的一份配置(备份)
    [转]Jquery通用开源框架之【ejq.js】
    【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程
    用Putty连接Linux
    使用Nginx的proxy_cache缓存功能取代Squid
    nginx for windows 配置多域名反向代理
    详细解析用Squid实现反向代理的方法
    用Squid和DNSPod打造自己的CDN详细教程
    WINDOWS下的squid
  • 原文地址:https://www.cnblogs.com/leiqun123/p/4573956.html
Copyright © 2011-2022 走看看