Okhttp设置http缓存,在没有网络的情况下加载http缓存里面的内容
2023-09-14 08:59:01 时间
HTTP_CACHE_FILENAME为缓存地址根路径;
private final String HTTP_CACHE_FILENAME = "HttpCache"; private static final Interceptor REWRITE_CACHE_CONTROL_INTERCEPTOR = new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Response originalResponse = chain.proceed(chain.request()); return originalResponse.newBuilder() .removeHeader("Pragma") .header("Cache-Control", String.format("max-age=%d", 60)) .build(); } };
然后再okhttpclient初始化的时候加上缓存设置:
mOkHttpClient = new OkHttpClient(); //cookie enabled mOkHttpClient.setCookieHandler(new CookieManager(null, CookiePolicy.ACCEPT_ORIGINAL_SERVER)); mOkHttpClient.setConnectTimeout(15000, TimeUnit.SECONDS); mOkHttpClient.setReadTimeout(15000, TimeUnit.SECONDS); mOkHttpClient.setWriteTimeout(15000, TimeUnit.SECONDS); mOkHttpClient.setRetryOnConnectionFailure(true); //-------------------------------设置http缓存,提升用户体验----------------------------------- Cache cache; File httpCacheDirectory = new File(BaseApplication.getAppContext().getExternalCacheDir(), HTTP_CACHE_FILENAME); cache = new Cache(httpCacheDirectory, 10 * 1024); mOkHttpClient.setCache(cache); mOkHttpClient.networkInterceptors().add(REWRITE_CACHE_CONTROL_INTERCEPTOR); //-------------------------------设置http缓存,提升用户体验----------------------------------- mDelivery = new Handler(Looper.getMainLooper()); if (false) { mOkHttpClient.setHostnameVerifier(new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { return true; } }); }
相关文章
- 网络拾遗之Http缓存
- 【云原生】多网络情况下,Kafka客户端如何选择合适的网络发起请求
- Linux 是如何收发网络包的?
- 萤石网络,难当「孤勇者」
- 网络割接是什么样的,有哪些流程,一张流程图搞定了!
- 网络工程师必知:什么是光电混合缆?
- 网络工程师学Python-1.2-配置Python环境变量
- 服务Linux快速启动HTTP服务实现网络分享(linux启动http)
- Linux配置DNS缓存服务加速网络访问(dns缓存linux)
- Linux网络设置:现在你使用lo网卡(linux网卡lo)
- Linux路由提升网络传输效率(linux跑包)
- Linux 3G 驱动:享受新的网络体验(3g linux驱动)
- Redis连接架设网络间的数据桥梁(联接redis)
- 测试Redis缓存提升网络性能的有力帮手(测试 redis缓存)
- Redis阻塞命令新型网络缓存解决方案(redis 阻塞命令)
- 红色的构造Redis设计与开发网络存储盘(redis设计与实现网盘)
- 当FBI的安全建议被网络专家打脸,你到底该听谁的?