文章预览
前言
OkHttp持久化Cookie使用的是OkHttp3–CookieJar 持久化Cookie
参考文章
https://www.jianshu.com/p/f1df12ceaedc
https://www.jianshu.com/p/1a222a9394ce
okhttp3依赖:
implementation("com.squareup.okhttp3:okhttp:4.9.0")
添加网络权限
<uses-permission android:name="android.permission.INTERNET" />
一、OkHttp持久化Cookie分析
Okhttp3默认是不持久化Cookie的,想要持久化Cookie就要实现CookieJar接口,并且设置他
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.cookieJar(new PersistenceCookieJar());
简单实现CookieJar接口
public class PersistenceCookieJar implements CookieJar {
List<Cookie> cache = new ArrayList<>();
//Http请求结束,Response中有Cookie时候回调
@Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
//内存中缓存Cookie
cache.addAll(cookies);
}
//Http发送请求前回调,Request中设置Cookie
@Override
public List<Cookie> loadForRequest(HttpUrl url) {
//过期的Cookie
List<Cookie> invalidCookies = new ArrayList<>

本文介绍如何在OkHttp中实现Cookie的持久化存储。通过自定义CookieJar接口,可以有效地管理Cookie的生命周期,包括存储从响应中获取的Cookie及在请求时加载有效的Cookie。文章还提供了一个具体的实现案例,展示了如何使用OkHttp处理登录过程中的Cookie。
最低0.47元/天 解锁文章
1498

被折叠的 条评论
为什么被折叠?



