如何在Android客户端注入及清除Cookie教程

    作者:课课家教育更新于: 2016-05-24 14:45:38

      Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据,Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。

    如何在Android客户端注入及清除Cookie教程_Android客户端_AndroidCookie_Cookie_课课家

     

      在Android应用程序中经常会加载一个webView页,如果需要客户端向WebView传递信息,比如Cookie,也是可以的。

      需要应用程序先将Cookie注入进去,打开该网页时,WebView会将加载的url通过http请求传输到服务器。同时,在这次请求中,会将Cookie信息通过http header传递过去。

      流程如下:

      1、客户端通过以下代码设置cookie

    public static void synCookies(Context context, String url) {  
      CookieSyncManager.createInstance(context);  
      CookieManager cookieManager = CookieManager.getInstance();  
      cookieManager.setCookie(url, "uid=1243432"); 	    		
      CookieSyncManager.getInstance().sync();  
    }
    

      2、CookieManager会将这个Cookie存入该应用程序/data/data/databases/目录下的webviewCookiesChromium.db数据库的cookies表中

      3、打开网页,WebView从数据库中读取该cookie值,放到http请求的头部,传递到服务器

      4、客户端可以在注销登录时清除该应用程序用到的所有cookies

    private void removeCookie(Context context) {
      CookieSyncManager.createInstance(context);  
      CookieManager cookieManager = CookieManager.getInstance(); 
      cookieManager.removeAllCookie();
      CookieSyncManager.getInstance().sync();  
    }
    

      本文简单介绍了Cookie信息传递流程,四个小步骤就可以完成在Android客户端注入及清除Cookie。

安卓 更多推荐

课课家教育

未登录