Got this error with retrofit2 & OkHttp3. Unable to resolve host “”: No address associated with hostname

前端 未结 4 2037
南笙
南笙 2021-02-12 11:22

I am using the retrofit 2 and OkHttp3 to request data from server. I just added a offline cache code but It\'s not working as expected. I got the error \"Unable to resolve host

4条回答
  •  野性不改
    2021-02-12 11:59

    Your server response has a "Pragma: no-cache" header. You should remove this header in your response interceptor not your request interceptor.

    In your current code you've removed it from the request interceptor.

    Your provideCacheInterceptor() should look like this:

    public static Interceptor provideCacheInterceptor() {
        return new Interceptor() {
            @Override
            public Response intercept(Chain chain) throws IOException {
                Response response = chain.proceed(chain.request());
    
                // re-write response header to force use of cache
                CacheControl cacheControl = new CacheControl.Builder()
                       .maxAge(2, TimeUnit.MINUTES)
                       .build();
    
               return response.newBuilder()
                        .header(CACHE_CONTROL, cacheControl.toString())
                        .removeHeader("Pragma")
                        .build();
            }
        };
    }
    

提交回复
热议问题