第二次请求qq.com时,networkResponse不为空
来源:4-10 缓存机制

用户1160409
2016-12-20
写回答
2回答
-
nate
2017-05-16
用这个代码试试
00 -
nate
2017-05-16
package com.imooc.http.lib; import java.io.File; import java.io.IOException; import java.util.concurrent.TimeUnit; import okhttp3.Cache; import okhttp3.CacheControl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; /** * @author nate */ public class CacheHttp { public static void main(String args[]) throws IOException { int maxCacheSize = 10 * 1024 * 1024; Cache cache = new Cache(new File("/Users/nate/source"), maxCacheSize); OkHttpClient client = new OkHttpClient.Builder().cache(cache).build(); Request request = new Request.Builder().url("http://www.qq.com/"). cacheControl(new CacheControl.Builder().maxStale(365, TimeUnit.DAYS).build()). build(); Response response = client.newCall(request).execute(); String body1 = response.body().string(); System.out.println("network response " + response.networkResponse()); System.out.println("cache response " + response.cacheResponse()); System.out.println("**************************"); Response response1 = client.newCall(request).execute(); String body2 = response1.body().string(); System.out.println("network response " + response1.networkResponse()); System.out.println("cache response " + response1.cacheResponse()); } }
00
相似问题