OkHttp3.6.0+Retrofit2.2.0持久化cookie
来源:互联网 发布:相片水印软件 编辑:程序博客网 时间:2024/06/06 01:32
配置cookie信息:
1 保存cookie信息(一般在登录app之后保存cookie信息):
/** * Created by zhang on 2017/4/14 09 : 57. */public class ReceivedCookiesInterceptor implements Interceptor {@Overridepublic Response intercept(Chain chain) throws IOException { Response originalResponse = chain.proceed(chain.request()); //这里获取请求返回的cookie if (!originalResponse.headers("Set-Cookie").isEmpty()) { final StringBuffer cookieBuffer = new StringBuffer(); Disposable subscribe = Observable.fromIterable (originalResponse.headers("Set-Cookie")) .map(new Function<String, String>() { @Override public String apply(@NonNull String list) throws Exception { String[] split = list.split(";"); return split[0]; } }).subscribe(new Consumer<String>() { @Override public void accept(@NonNull String cookie) throws Exception { if (!TextUtils.isEmpty(cookie)) { cookieBuffer.append(cookie).append(";"); } } }); //path和domain是固定信息,一般不变,可根据你的项目而定,以下仅供参考 cookieBuffer.append("path=/;"); cookieBuffer.append("domain=.api.app.com"); SharedPrefUtil.saveSharedPrfString("cookie", cookieBuffer.toString()); subscribe.dispose(); } return originalResponse;}}
2 添加cookie信息(携带cookie信息请求服务器数据):
/** * Created by zhang on 2017/4/14 09 : 58. */public class AddCookiesInterceptor implements Interceptor {@Overridepublic Response intercept(Chain chain) throws IOException { final Request.Builder builder = chain.request().newBuilder(); Observable.just(SharedPrefUtil.getSharedPrfString("cookie", "")) .subscribe(new Consumer<String>() { @Override public void accept(@NonNull String cookie) throws Exception { //添加cookie builder.addHeader("Cookie", cookie); } }); return chain.proceed(builder.build());}}
0 0
- OkHttp3.6.0+Retrofit2.2.0持久化cookie
- okhttp3 cookie持久化
- android Okhttp和OkHttp3持久化cookie
- Retrofit2.0 ,OkHttp3完美同步持久Cookie实现免登录(二)
- Retrofit2.0 OkHttp如何自动加载Cookie 持久化
- okhttp3 retrofit2 缓存问题
- Rxjava+Retrofit2+Okhttp3
- Retrofit2+okhttp3 使用教程
- 初探Okhttp3+Retrofit2+RXJava
- Retrofit2+OkHttp3+RxJava2
- Retrofit2、okHttp3、RxAndroid使用
- Rxjava2+okhttp3+Retrofit2封装
- Okhttp3+Rxjava+Retrofit2封装
- OkHttp3实现Cookies管理及持久化
- Retrofit2初尝试(rxjava + okhttp3)
- Retrofit2.0+okhttp3设置缓存
- Retrofit2+okHttp3使用样例
- Retrofit2.0+okhttp3实现缓存
- 分布式架构现在很火吗?zookeeper dubbo可以?
- 自定义 滑动解锁
- Hibernate学习-01:Hibernate框架的概述
- eclipse class file editor source not found
- setTimeout那些事儿
- OkHttp3.6.0+Retrofit2.2.0持久化cookie
- [#显示分层数据的 UltraWinGrid 与一些自定义网格的外观设置吗?
- 手机收不到第三方发送的短信及验证码
- 【Android 屏幕扩展/共享】5分钟搞定—电脑 与 手机共享屏幕
- 文档编写要求
- APP安全报告第六期:用户病例信息存在泄漏风险,医疗APP需加强安全措施!
- 用C语言实现将int类型转化为字符串,不使用已有的转换函数
- Java核心技术II:ZiP压缩文档
- PHP 轻量级的PHP类检测移动设备(包括平板电脑)。