OkHttp拦截器
来源:互联网 发布:python 统计词频 编辑:程序博客网 时间:2024/05/20 04:46
import android.util.Log;
import java.io.IOException;
import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.Request;
public class LogInterceptor implements Interceptor {
public static String TAG = "LogInterceptor";
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request request = chain.request();
long startTime = System.currentTimeMillis();
okhttp3.Response response = chain.proceed(chain.request());
long endTime = System.currentTimeMillis();
long duration=endTime-startTime;
okhttp3.MediaType mediaType = response.body().contentType();
String content = response.body().string();
Log.d(TAG,"\n");
Log.d(TAG,"----------Start----------------");
Log.d(TAG, "| "+request.toString());
String method=request.method();
if("POST".equals(method)){
StringBuilder sb = new StringBuilder();
if (request.body() instanceof FormBody) {
FormBody body = (FormBody) request.body();
for (int i = 0; i < body.size(); i++) {
sb.append(body.encodedName(i) + "=" + body.encodedValue(i) + ",");
}
sb.delete(sb.length() - 1, sb.length());
Log.d(TAG, "| RequestParams:{"+sb.toString()+"}");
}
}
Log.d(TAG, "| Response:" + content);
Log.d(TAG,"----------End:"+duration+"毫秒----------");
return response.newBuilder()
.body(okhttp3.ResponseBody.create(mediaType, content))
.build();
}
}
import java.io.IOException;
import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.Request;
public class LogInterceptor implements Interceptor {
public static String TAG = "LogInterceptor";
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request request = chain.request();
long startTime = System.currentTimeMillis();
okhttp3.Response response = chain.proceed(chain.request());
long endTime = System.currentTimeMillis();
long duration=endTime-startTime;
okhttp3.MediaType mediaType = response.body().contentType();
String content = response.body().string();
Log.d(TAG,"\n");
Log.d(TAG,"----------Start----------------");
Log.d(TAG, "| "+request.toString());
String method=request.method();
if("POST".equals(method)){
StringBuilder sb = new StringBuilder();
if (request.body() instanceof FormBody) {
FormBody body = (FormBody) request.body();
for (int i = 0; i < body.size(); i++) {
sb.append(body.encodedName(i) + "=" + body.encodedValue(i) + ",");
}
sb.delete(sb.length() - 1, sb.length());
Log.d(TAG, "| RequestParams:{"+sb.toString()+"}");
}
}
Log.d(TAG, "| Response:" + content);
Log.d(TAG,"----------End:"+duration+"毫秒----------");
return response.newBuilder()
.body(okhttp3.ResponseBody.create(mediaType, content))
.build();
}
}
阅读全文
1 0
- Okhttp 拦截器
- okhttp 拦截器调用。
- OkHttp-Interceptors拦截器
- okhttp拦截器+Imageloader
- OkHttp拦截器
- okhttp拦截器
- Okhttp的拦截器
- okhttp应用拦截器
- okhttp拦截器
- Okhttp网络拦截器
- okhttp添加拦截器
- okhttp网络拦截器
- OkHttp拦截器
- 添加okhttp拦截器
- OKhttp拦截器
- OkHttp之拦截器
- 拦截器OKhttp
- OKhttp--拦截器
- svn add 命令 递归目录下所有文件
- modelsim进行功能仿真(不新建工程)
- 自己常用的透明颜色
- Android:最全面的 Webview 详解
- spring mvc项目,部署tomcat 中,使用jndi数据源
- OkHttp拦截器
- mongodb查询最大值
- 阿里云oss上传文件,每次只能上传很小一部分
- python3 pygame学习(2):使用pygame加载音乐
- 关于numpy mean函数的axis参数
- Unity5.6.x 声音导入设置
- 2017第72届中国教育装备展示会会刊(参展商名录)
- VBA判断ACCESS中的窗体是否存在(并且关闭和删除窗体)
- Linux 安装中文 man 手册