关于okhttp3 的 cookie保存

本文介绍了一个自定义实现的CookieJar管理器类,该类用于处理HTTP请求中的Cookie存储和加载,但仅将Cookie保存在内存中并未进行持久化处理。

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

使用编写一个类继承 CookieJar
/**
 * 这里是设置cookie的
 * 但是并没有做持久化处理
 * 只是把cookie保存在内存中
 */
public class CookieJarManage implements CookieJar {
    private final HashMap<String, List<Cookie>> cookieStore = new HashMap<>();
    @Override
    public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
        cookieStore.put(url.host(), cookies);
    }

    @Override
    public List<Cookie> loadForRequest(HttpUrl url) {
        List<Cookie> cookies = cookieStore.get(url.host());
        return cookies != null ? cookies : new ArrayList<Cookie>();
    }
}
所以每次进入的应用需要调用登录接口
之前在网上看到的是直接cookieStore.put(url, cookies)这样的,(ps:估计也是抄来的)然后发现调用接口的时候老是报900的错误检查了一遍才发现这里错误了,坑了一把,怪自己,关于持久化的 cookie保存等以后有空在更新写一写,还有另一种可以不用设置cookie的,但是需要在请求头里面添加东西






                
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值