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/oj3e 著作权归作者所有。请勿转载和采集!