android中Webview设置多个cookie参数
来源:互联网 发布:cad of mac中文破解版 编辑:程序博客网 时间:2024/06/10 07:23
有时候需要在cookie中设置多个参数传递给前端页面,常用的是 token和渠道号 。将N个参数的key-value按照分号分开然后一次设置,一直只使用token第一个参数,可以正常获取,所以没问题,比如
StringBuilder sbCookie = new StringBuilder(); if (MyApplication.isLogined()) { UserBean userinfo = MyApplication.getUserBean(); if(userinfo != null && !TextUtils.isEmpty(userinfo.getToken())){ sbCookie.append(String.format("token" + "=%s",userinfo.getToken())); sbCookie.append(String.format(";from" + "=%s", "android")); } } else { sbCookie.append(String.format("from" + "=%s", "android")); } //webview在使用cookie前会前判断保存cookie的domain和当前要请求的domain是否相同,相同才会发送cookie sbCookie.append(String.format(";domain=%s",aURL.getHost())); //注意,是getHost(),不是getAuthority(), sbCookie.append(String.format(";path=%s","/")); String cookieValue = sbCookie.toString(); cookieManager.setCookie(currentUrl, cookieValue); CookieSyncManager.getInstance().sync();
最近有需求获取渠道号,发现怎么也获取不到,当把渠道号放在TOKEN的顺序之前的时候,token又获取不到。后来查询一番终于知道正确的姿势应该是每个参数单独设定,如下
StringBuilder sbCookie = new StringBuilder(); sbCookie.append(String.format("from" + "=%s", "android")); sbCookie.append(String.format(";domain=%s",aURL.getHost())); sbCookie.append(String.format(";path=%s","/")); cookieManager.setCookie(currentUrl, sbCookie.toString()); if (MyApplication.isLogined()) { UserBean userinfo = MyApplication.getUserBean(); if(userinfo != null && !TextUtils.isEmpty(userinfo.getToken())){ StringBuilder sbCookieToken = new StringBuilder(); sbCookieToken.append(String.format("token" + "=%s",userinfo.getToken())); //webview在使用cookie前会前判断保存cookie的domain和当前要请求的domain是否相同,相同才会发送cookie sbCookieToken.append(String.format(";domain=%s",aURL.getHost())); //注意,是getHost(),不是getAuthority(), sbCookieToken.append(String.format(";path=%s","/")); cookieManager.setCookie(currentUrl, sbCookieToken.toString()); } } CookieSyncManager.getInstance().sync(); String newCookie = cookieManager.getCookie(currentUrl);
每一次setCookie操作,都是设置一组对应的cookie,每组cookie都有domain、path这些属性,用“;”来分割开 ,只写了这两个固定属性,多个属性如此以此类推即可。有点坑啊~
阅读全文
0 0
- android中Webview设置多个cookie参数
- android中给WebView设置Cookie
- 在Android WebView中设置Cookie
- Android中设置Webview支持Cookie
- 【android-Webview】设置多个cookie,实现webview中保存登录信息
- 【Android】WebView设置Cookie
- android webview 设置 Cookie
- Android WebView设置cookie
- android webview里设置cookie
- android webview里设置cookie
- android webview里设置cookie
- android webview里设置cookie
- webView中设置cookie无效
- 在Android的WebView中给一级域名设置cookie
- Android WebView中Cookie的获取和设置
- Android(安卓)WebView设置cookie
- android webview 设置cookie 需要注意
- android上WebView设置cookie,以及设置webview cookie在部分手机失效
- 利用Mesosphere DC/OS在任意基础设施之上实现TensorFlow分布
- vue中computed 和 watch的异同
- java中的自动拆箱与自动装箱
- 分布式系统session共享问题
- 3.0项目创建
- android中Webview设置多个cookie参数
- com.alibaba.dubbo.remoting.RemotingException问题处理方案。
- 编写一个程序,实现设置上月、本月电表读数,显示上月、本月电表读数,计算并显示本月用电数。假设每度电的价格为1.2元,计算并显示本月电费。
- Socket网络通信(二)
- AIDL进程间通信
- 自定义浏览器滚动条样式
- spring Boot 生成图片验证码 存入redis
- 在activity类中更新widget
- 聊一聊PCB规划、布局和布线方面的设计技巧