Android入门——OkHttp3之Cookies管理及持久化

本文介绍了在Android中使用OkHttp3进行Cookies管理的三种方法:一是通过PersistentCookieJar开源库实现,二是利用JavaNetCookieJar,三是手动实现CookieJar。每个方法都包括了配置和使用步骤,并提供了相关文章推荐,帮助开发者理解并实现OkHttp3的Cookies持久化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

持久化管理cookie的几种方法:

(一)特简单!直接使用PersistentCookieJar开源库:  https://github.com/franmontiel/PersistentCookieJar

1. 配置

(1)在 project 的 gradle 中添加 JitPack 存储库:

maven { url "https://jitpack.io" }
allprojects {
    repositories {
        //其他存储库,此处省略
        ...

        //cookie持久化jar包 添加以下语句!!!
        maven { url "https://jitpack.io" }
    }
}

(2) 在app.gradle中添加依赖引用:

//cookie持久化jar包
compile 'com.github.franmontiel:PersistentCookieJar:v1.0.1'
dependencies {
    //其他依赖,此处省略
    ...

    //cookie持久化jar包
    compile 'com.github.franmontiel:PersistentCookieJar:v1.0.1'
}

2. 使用

(1)传入参数cookiecache和CookiePersistor,创建一个PersistentCookieJar实例

CookieJar cookieJar = 
        new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(Context));
//以context为MainActivity为例
CookieJar cookieJar = 
        new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(MainActivity.this));

(2)在构建OkHttpClient时添加CookieJar:

OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .cookieJar(cookieJar)
                .build();

 


(二)也比较简单,用JavaNetCookieJar

CookieManager cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieJar cookieJar = new JavaNetCookieJar(cookieManager);

还需要在app.gradle中添加依赖:

//JavaNetCookieJar
compile "com.squareup.okhttp3:okhttp-urlconnection:3.0.0-RC1"
dependencies {
    ...

    //JavaNetCookieJar
    compile "com.squareup.okhttp3:okhttp-urlconnection:3.0.0-RC1"
}

然后,同上面的(一)2.(2),在构建OkHttpClient时添加CookieJar


(三)稍复杂,手动实现Cookiejar

详情参考博客: 解决OKHttp不能自动缓存header cookies 里的 sessionid

然后,同上面的(一)2.(2),在构建OkHttpClient时添加CookieJar


相关文章推荐:

使用Okhttp/Retrofit持久化cookie的简便方式

okhttp3与旧版本okhttp的区别分析 (部分内容仅供参考)


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值