OKHttp 编写一个完整的get请求带请求和响应的Interceptor
以下是一个完整的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()来检查请求是否成功,并读取响应体中的内容
原文地址: https://www.cveoy.top/t/topic/fD11 著作权归作者所有。请勿转载和采集!