【Android】WebView设置Cookie
16lz
2021-01-23
在网上搜索给WebView设置Cookie这个问题得到的回答都是以下这段代码:
CookieSyncManager.createInstance(context);CookieManager cookieManager = CookieManager.getInstance();cookieManager.setAcceptCookie(true);cookieManager.setCookie(url, cookies);//cookies是在HttpClient中获得的cookieCookieSyncManager.getInstance().sync();
但是我用这段代码在实际运行的时候并没有让 WebView 带上Cookie,测试机器系统为Android 4.2.2,于是又去网络上搜索了下,发现了这个答案:
只有当Cookie的Domain和Path与请求的URL匹配时,才会发送这个Cookie成功。
在Java中,可以通过 Cookie 的 getDomain() 和 getPath() 方法来获取我们想要的 Domain 和 Path。
还需要注意的另外一件事情就是如果上传的 Cookie 不仅仅要求 sessionid,还要求其他项目,那么你必须采用以下的方式来设置Cookie:
key=value;domain=domainContent;path=pathContent
例如:
sessionid=xxxxxx;domain=domainStr;path=pathStr
max_age=xxxxxx;domain=domainStr;path=pathStr
每一个条目都要这样操作,因为CookieManager只能够得到 “;” 前面的数据。
参考链接:
http://kinbos.blog.51cto.com/2092114/1347859
http://www.cnblogs.com/breeze1988/articles/3976035.html
更多相关文章
- Android 使用 DowanloadManager 实现下载并获取下载进度实例代码
- Android Design: 九种常见Activity及代码解析之"Login Activity"
- [CSDN]Android应用程序进程启动过程的源代码分析
- Android开源项目源代码分享
- 如何用代码区分android TV和手机? 适配Android TV ?
- java Android 算一定业务规定的工作日(除去法定节假日、调休周末
- Anroid源代码编译相关资源
- 第一行代码Android学习(十)