用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 什么是会话 ...
随机推荐
- MySQL Database on Azure
在国际版的Microsoft Azure上,MySQL服务是与ClearDB合作运营的.由于ClearDB无法在中国地区提供服务,因此微软中国的研发团队开发了专门面向中国市场的MySQL Databa ...
- 1.使用using释放资源
using语句有二个关键字 >>作为关键字,using可以导入命名空间 >>作为C#语句,using可以释放对象占用的内存资源 语法: using(SqlConnection ...
- Unity的DrawCall
图形引擎渲染画面的过程 Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述: 1. 可见性测试 1. 引擎首先经过简单的可见性测试,确定摄像机可以看到的物体 2. 准备好物 ...
- cookie 和 session 的基础知识
cookie 和 session 的基础知识 cookie 和session 的区别详解 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会 ...
- u3d单词学习plane
plane n.水平: 平面: 飞机: 木工刨
- angular $http配置属性
$http请求的配置对象 $http()接受的配置对象可以包含以下属性: method:http请求方式,可以为GET,DELETE,HEAD,JSONP,POST,PUT url:字符串,请求的目标 ...
- 一行命令搞定node.js 版本升级
from:http://www.16boke.com/article/detail/26 今天,又发现一个超级简单的升级node.js的方法.一行命令搞定,省去了重新编译安装的过程. node有一个模 ...
- 定时取数据库的schema,并推送到git服务器
写了个脚本,定时去数据库取schema,并推送到公司的git里. #daily_schema.py #/usr/bin/env python import os import datetime,tim ...
- Asp.net NVelocity 模版引擎
NVelocity.dll是Java中常用的一个模版,下面是常用的模版引擎 1,返回string类型的html代码 /// <summary> /// 获取html模版 /// </ ...
- ICC的sacn-wise和unit-wise
假设有16个被试,2个session,2个RUN,200个ROI,那么ICC需要对RUN1和RUN2分别算两次(相比而言,paired ttest则是对一个session中的RUN1和RUN2计算) ...