OkHttp拦截器的写法

private static OkHttpClient okHttpClient;
    private static Request request;
    private static RequestBody builder;
    private static Interceptor getAppInterceptor(){
        Interceptor interceptor = new Interceptor() {
            @Override
            public Response intercept(Chain chain) throws IOException {
                Request request = chain.request();
                Log.e("-------","拦截前" );
                //请求之前
                Response response = chain.proceed(request);
                Log.e("++++++++++","拦截后" );
                //请求之后
                return response;
            }
        };
        return interceptor;
    }

    /*
     * okhttp get异步请求方法
     * */
    public static void  OkHttpget(String url, Callback callss){
        //创建okHttpClient
        okHttpClient = new OkHttpClient().newBuilder().addInterceptor(getAppInterceptor()).build();
        //创建request
        request = new Request.Builder().url(url).method("GET",null).build();
        //
        okHttpClient.newCall(request).enqueue(callss);
    }
    //okhttp post请求
    public static  void OkHttpPost(String url,String name,String pswd ,Callback call){
        okHttpClient = new OkHttpClient().
                newBuilder().
                addInterceptor(getAppInterceptor()).build();
        builder = new FormBody.Builder()
                .add("phone",name)
                .add("pwd",pswd)
                .build();
        //创建request
        request = new Request
                .Builder()
                .url(url)
                .post(builder)
                .build();
        okHttpClient.newCall(request).enqueue(call);
    }

猜你喜欢

转载自blog.csdn.net/weixin_44160470/article/details/85951620