public class LoggingInterceptor implements Interceptor {
String TAG = "mmm";
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
long startTime = System.currentTimeMillis();
Response response = chain.proceed(chain.request());
long endTime = System.currentTimeMillis();
long duration = endTime - startTime;
ResponseBody responseBody = response.body();
if (responseBody == null) {
return response;
}
okhttp3.MediaType mediaType = responseBody.contentType();
String content = response.body().string();
Log.e(TAG, "请求地址: " + request.toString());
Log.e(TAG, "请求状态: " + response.code() + " : " + response.message());
String method = request.method();
if ("POST".equals(method)) {
Buffer buffer = new Buffer();
try {
request.body().writeTo(buffer);
Charset charset = Charset.forName("UTF-8");
MediaType contentType = request.body().contentType();
if (contentType != null) {
charset = contentType.charset(UTF_8);
}
String params = buffer.readString(charset);
Log.e(TAG, "请求参数: " + params);
} catch (IOException e) {
e.printStackTrace();
}
}
Log.e(TAG, "请求结果: " + content);
Log.e(TAG, "==================================请求耗时: " + duration + "毫秒===================================");
return response.newBuilder().body(okhttp3.ResponseBody.create(mediaType, content)).build();
}
}
HttpLoggingInterceptor 拦截 请求参数和请求结果
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前提 前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景。为了模拟真实的交互场...