应用拦截器与网络拦截器

配置拦截器

  1. okHttpClient = new OkHttpClient
  2.                 .Builder()
  3.                 .addInterceptor(appInterceptor)     //Application应用拦截器
  4.                 .addNetworkInterceptor(networkInterceptor)     //Network网络拦截器               
  5. .build();




     应用拦截器

  1. public Response intercept(Chain chain) throws IOException {
  2.             Request request = chain.request();
  3.             HttpUrl url = request.url();
  4.             String s = url.url().toString();
  5.             //---------请求之前-----
  6.             Log.d(TAG,"app interceptor:begin");
  7.             Response  response = chain.proceed(request);
  8.             Log.d(TAG,"app interceptor:end");
  9.             //---------请求之后------------
  10.             return response;
  11.         }






  网络拦截器
  1.  public Response intercept(Chain chain) throws IOException {
  2.             Request request = chain.request();
  3.             //---------请求之前-----
  4.             Log.d(TAG,"network interceptor:begin");
  5.             Response  response = chain.proceed(request);
  6.             Log.d(TAG,"network interceptor:end");
  7.             return response;
  8.         }


简单的应用
  1. public class Logger implements Interceptor{  
  2.     @Override  
  3.     public Response intercept(Chain chain) throws IOException {  
  4.         Request original = chain.request();  
  5.         HttpUrl url=original.url().newBuilder()  
  6.                 .addQueryParameter("source","android")  
  7.                 .build();  
  8.         //添加请求头  
  9.         Request request = original.newBuilder()  
  10.                 .url(url)  
  11.                 .build();  
  12.         return chain.proceed(request);  
  13.     }  
  14. }  



你可能感兴趣的:(应用拦截器与网络拦截器)