Android Cookie共享到WebView避免再次登录(保持登录状态)
最近在做项目时用到了webview打开指定链接的网页,可已经把webview设置了cookie但始终跳转到登录页面,这明显是cookie没有设置成功导致webview没有将设置好的cookie发送出去……
|
1
2
3
4
5
|
CookieSyncManager.createInstance(context);CookieManager cookieManager = CookieManager.getInstance();cookieManager.setAcceptCookie(true);cookieManager.setCookie(url, cookies);//cookies是在HttpClient中获得的cookieCookieSyncManager.getInstance().sync(); |
通过上述代码即可把事先保存下来的cookie和指定的url关联起来,达到保持登录的状态,避免重复登录。遗憾的是,笔者在开发过程当中严格按照上述设置cookie的代码来进行cookie的设置,可结果还是失败,始终跳转到登录页提示登录。后来返回去查看了下Android API文档,发现setCookie函数的两个参数值说明如下:
public void setCookie(String url, String value)
Sets a cookie for the given URL. Any existing cookie with the same host, path and name will be replaced with the new cookie. The cookie being set must not have expired and must not be a session cookie, otherwise it will be ignored.
| url | the URL for which the cookie is set |
|---|---|
| value | the cookie as a string, using the format of the 'Set-Cookie' HTTP response header value参数的作用是cookie值的字符串形式,但格式一定要是http请求头格式"Set-Cookie"。 |
api文档里的这句话突然让我惊醒,于是经过百度我查到了cookie的格式相关的文章,现摘抄如下:
原文链接:http://www.cnblogs.com/hdtianfu/archive/2013/05/30/3108295.html
Cookie相关的Http头
一个URL中包含有domain和path,可以参考http://www.w3school.com.cn/html/html_url.asp
在程序中生成expires
上述红色加粗的文字更让我确信了我的判断,此时此刻的心情有多么激动就不用说了,嘿嘿
于是,我在原来设置的cookie字符串上加上了domain和path字段,怀着期盼的心情run了下,哈哈,结果正确了,再也不用反复登录了。
经过此次的bug解决,在编程中不能放过任何一个细节,要对每个运行细节都清清楚楚这样才能避免盲目的去解决问题,最终浪费时间……
欢迎加入讨论群讨论:192209234
Android Cookie共享到WebView避免再次登录(保持登录状态)的更多相关文章
- Chromium Graphics: Android L平台上WebView的变化及其对浏览器厂商的影响分析
原创文章.转载请以链接形式注明原始出处为http://blog.csdn.net/hongbomin/article/details/40799167. 摘要:Google近期公布的Android L ...
- Android安全开发之WebView中的地雷
Android安全开发之WebView中的地雷 0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者 ...
- android基础开发之WebView
WebView 是android平台沟通 http & H5 页面的桥梁. 但是google对这块的表述不是很清晰,而且SDK里面基本看不到源码,只有一个接口而已. 传送:http://dev ...
- Android 匿名共享内存C++接口分析
在上一篇Android 匿名共享内存C接口分析中介绍了Android系统的匿名共享内存C语言访问接口,本文在前文的基础上继续介绍Android系统的匿名共享内存提供的C++访问接口.在C++层通过引入 ...
- 门户系统整合sso cookie共享及显示用户信息
1.1 门户系统整合sso 在门户系统点击登录连接跳转到登录页面.登录成功后,跳转到门户系统的首页,在门户系统中需要从cookie中 把token取出来.所以必须在登录成功后把token写入cooki ...
- Django(十三)状态保持 —— cookie与session+ajax异步请求+session记住登录状态+cookie记住登录名密码
一.状态保持的概述 http协议是无状态的.下一次去访问一个页面时并不知道上一次对这个页面做了什么.因此引入了cookie.session两种方式来配合解决此问题. Duplicate entry:重 ...
- Android混合开发之WebView与Javascript交互
前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybri ...
- Android混合开发之WebView使用总结
前言: 今天修改项目中一个有关WebView使用的bug,激起了我总结WebView的动机,今天抽空做个总结. 混合开发相关博客: Android混合开发之WebView使用总结 Android混合开 ...
- 模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站,并实现退出登录功能
Login <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
随机推荐
- 未来十年的十三条思考(FW)
支付宝在某种意义上延续了“双十一”的购物狂欢. 如果你关注微信朋友圈,你会发现支付宝最近以各种广告.方案植入方式推出强劲广告.而其中很重要的一个促销手段便是,从今年12月1日到12月15日,用户在一些 ...
- oracle学习系列之三 (约束)
主键约束:外键约束:唯一性约束:检查约束:默认值约束 -——————五大约束 一. 主键约束: --创建表的主键约束 create table student (student_id number ...
- 详解Ossim 4.3控制台
在Ossim 4.2以后的发行版中增加了控制台功能下面加以详细说明,当Ossim 启动之后,在控制台以root身份登录系统后会执行ossim-setup脚本,然后显示如下图1所示,了解这些功能,以及操 ...
- css的border效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 关于Java中形参与实参的理解
今天阅读了一个写的非常棒的博文,通过此博文再次复习了Java中参数传递的知识(即值传递与引用传递的区别).参考网站http://www.cnblogs.com/binyue/p/3862276.htm ...
- WP8_Json的用法
WP从服务器.API交换数据一般都是用JSON格式字符串. 下面介绍用Newtonsoft.Json来处理JSON. 准备 1.到 http://json.codeplex.com/ 下载Newton ...
- .net分页控件webdiyer:AspNetPager
首先下载:AspNetPager.dll AspNetPager.xml 放到bin目录下 页面添加<%@ Register Assembly="AspNetPager" ...
- 深入浅出Nodejs读书笔记(转)
Node简介 这一章简要介绍了Node,从中可以了解Node的发展历程及其带来的影响和价值. 为什么叫Node?起初,Ryan Dahl称他的项目为web.js,就是一个Web服务器,但是项目的发展超 ...
- Android 弹出框
1.Java package com.fish.helloworld; import android.app.Activity; import android.app.AlertDialog; imp ...
- NC V6 安装目录各文件夹作用描述
ant:存放Apache Ant,用来执行EJB的构建. bin: 存放nc部署和系统监控等命令.configsys.log部署日志(包含NC中间件.WAS中间件等部署信息)以及NC_Client文件 ...