用Okhttp框架登录之后的Cookie设置到webView中(转)
- @SuppressWarnings("deprecation")
- public void synCookies(Context context, String url) {
- CookieSyncManager.createInstance(context);
- CookieManager cookieManager = CookieManager.getInstance();
- cookieManager.setAcceptCookie(true);
- // cookieManager.removeSessionCookie();// 移除
- cookieManager.removeAllCookie();
- // String[] cookie = mCookieStr.split(";");
- // Cookie[] cookie = CookieUtil.getCookies().toArray(
- // new Cookie[CookieUtil.getCookies().size()]);
- List<Cookie> cookies=SimpleCookieJar.getCookies();
- StringBuffer sb = new StringBuffer();
- for ( Cookie cookie : cookies)
- {
- String cookieName = cookie.name();
- String cookieValue = cookie.value();
- if (!TextUtils.isEmpty(cookieName)
- && !TextUtils.isEmpty(cookieValue)) {
- sb.append(cookieName + "=");
- sb.append(cookieValue + ";");
- }
- }
- String[] cookie = sb.toString().split(";");
- for (int i = 0; i < cookie.length; i++) {
- Log.d("cookie[i]",cookie[i]);
- cookieManager.setCookie(url, cookie[i]);// cookies是在HttpClient中获得的cookie
- }
- CookieSyncManager.getInstance().sync();
- }
2.SimpleCookieJar 这个类中设置:
- import java.util.ArrayList;
- import java.util.List;
- import okhttp3.Cookie;
- import okhttp3.CookieJar;
- import okhttp3.HttpUrl;
- public final class SimpleCookieJar implements CookieJar
- {
- private final List<Cookie> allCookies = new ArrayList<Cookie>();
- private static List<Cookie> cookies;
- public static List<Cookie> getCookies() {
- return cookies != null ? cookies : new ArrayList<Cookie>();
- }
- public static void setCookies(List<Cookie> cookies) {
- SimpleCookieJar.cookies = cookies;
- }
- public synchronized void saveFromResponse(HttpUrl url, List<Cookie> cookies)
- {
- allCookies.addAll(cookies);
- setCookies(cookies);
- }
- @Override
- public synchronized List<okhttp3.Cookie> loadForRequest(HttpUrl url)
- {
- List<Cookie> result = new ArrayList<Cookie>();
- for (Cookie cookie : allCookies)
- {
- if (cookie.matches(url))
- {
- result.add(cookie);
- }
- }
- return result;
- }
- }
用Okhttp框架登录之后的Cookie设置到webView中(转)的更多相关文章
- Postman接口测试:自动获取登录后的cookie并设置环境变量
在对网站进行接口测试的时候,很多请求往往是需要带登录的cookie才能请求成功的,一般来说,可以用抓包软件(fiddler,浏览器的F12)来查看登录后的cookie,并把它设置到postman的环境 ...
- Cookie (设置与读取、超时设置、指定路径、显示用户上次登录时间)
Cooike简介 Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式.Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的 ...
- Python Web框架篇:Django cookie和session
part 1 概念 在Django里面,cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话. 两者最大的区别是cookie的信息是存放在浏览器客户端的,而sessio ...
- Web框架Danjgo之session cookie及认证组件
一 Cookie 1 什么是Cookie Cookie翻译成中文是小饼干的意思.其实Cookie是key-value结构,类似于一个Python中的字典.随着服务器端的响应发送给客户端浏览器. 然后客 ...
- Django框架(十一)--cookie和session
cookie和session组件 cookie 1.cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它 ...
- 浏览器因cookie设置HttpOnly标志引起的安全问题
1.简介 如果cookie设置了HttpOnly标志,可以在发生XSS时避免JavaScript读取cookie,这也是HttpOnly被引入的 原因.但这种方式能防住攻击者吗?HttpOnly标志可 ...
- 单点登录(一)使用Cookie+File实现单点登录
本文使用Cookies+Filter实现www.taobao.tgb.com 和 www.tianmao.tgb.com的单点登录. 源代码分享:链接: http://pan.baidu.com/s/ ...
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据 我们这片博文就来聊聊这个反响很不错的OkHttp了,标题是我恶搞的,本篇将着重详细的 ...
- web框架开发-Django组件cookie与session
http协议的每一次都是无保存状态的请求,这会带来很多的不方便,比如,一刷新网页,或者进入该网页的其他页面,无法保存之前的登录状态.为了解决类似这样的问题,引入了会话跟踪 会话跟踪技术 1 什么是会话 ...
随机推荐
- 在PYTHON中使用StringIO的性能提升实测(更新list-join对比)
刚开始学习PYTHON,感觉到这个语言真的是很好用,可以快速完成功能实现. 最近试着用它完成工作中的一个任务:在Linux服务器中完成对.xml.gz文件的解析,生成.csv文件,以供SqlServe ...
- HDU 5130 Signal Interference --计算几何,多边形与圆的交面积
题意: 求所有满足PB <= k*PA 的P所在区域与多边形的交面积. 解法: 2014广州赛区的银牌题,当时竟然没发现是圆,然后就没做出来,然后就gg了. 圆的一般式方程: 设A(x1,y1) ...
- HDU 4630 No Pain No Game 树状数组+离线操作
题意:给一串数字,每次查询[L,R]中两个数的gcd的最大值. 解法:容易知道,要使取两个数让gcd最大,这两个数最好是倍数关系,所以处理出每个数的所有倍数,两两间根据倍数关系形成一条线段,值为该数. ...
- Sublime3安装过程及常用插件安装及常用快捷键
1 先去http://www.sublimetext.com/官网下载软件,然后网上找一个验证码,注册完成. 2 安装Package Control ,Package Control 插件是一个方 ...
- jquery工具方法proxy
proxy : 改变this指向 使用方法1:function show(){ alert(this); }$.proxy(show,document)(); //document 使用方法2:fu ...
- java工程中的.classpath<转载>
第一部分:classpath是系统的环境变量,就是说JVM加载类的时候要按这个路径下去找,当然这个路径下可以有jar包,那么就是jar包里所有的class. eclipse build path是ec ...
- Hibernate总结3
一,对象的四种状态 临时状态: 与数据库没有对应,跟Session没有关联. 一般是新new出的对象. 持久化状态: 对象在Session的管理之中,最终会有对应的数据库记录.save saveoru ...
- GIT常用命令备忘
Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...
- Html代码保存为Pdf文件
前段时间Insus.NET有实现了<上传Text文档并转换为PDF>http://www.cnblogs.com/insus/p/4313092.html 和<截取视图某一段另存为部 ...
- performSelector的原理以及用法
一.performSelector调用和直接调用区别下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天看到有人在问这个问题,我便做 ...