以下是一个完整的GET请求,带有请求和响应的Interceptor:

OkHttpClient client = new OkHttpClient.Builder()
        .addInterceptor(new Interceptor() {
            @Override
            public Response intercept(Chain chain) throws IOException {
                Request request = chain.request();
                long t1 = System.nanoTime();
                Log.d("OkHttp", String.format("Sending request %s on %s%n%s",
                        request.url(), chain.connection(), request.headers()));

                Response response = chain.proceed(request);

                long t2 = System.nanoTime();
                Log.d("OkHttp", String.format("Received response for %s in %.1fms%n%s",
                        response.request().url(), (t2 - t1) / 1e6d, response.headers()));

                return response;
            }
        })
        .build();

Request request = new Request.Builder()
        .url("https://example.com")
        .build();

Response response = client.newCall(request).execute();

if (response.isSuccessful()) {
    String responseBody = response.body().string();
    Log.d("OkHttp", responseBody);
} else {
    Log.e("OkHttp", "Error: " + response.code());
}

这个请求使用了一个Interceptor来打印请求和响应的信息。可以根据需要修改这个Interceptor,来添加自己的逻辑。同时,在请求的最后,使用了response.isSuccessful()来检查请求是否成功,并读取响应体中的内容

OKHttp 编写一个完整的get请求带请求和响应的Interceptor

原文地址: https://www.cveoy.top/t/topic/fD11 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录