拦截器的简单使用
来源:互联网 发布:python网络编程 amazon 编辑:程序博客网 时间:2024/05/22 09:03
拦截器类
import android.util.Log;
import java.io.IOException;
import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.MediaType;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
/**
* Created by DANGEROUS_HUI on 2017/10/21.
*/
public class NetWorkInterceptor implements Interceptor{
public static String TAG = "LogInterceptor";
@Override
public Response intercept(Interceptor.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;
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(ResponseBody.create(mediaType, content))
.build();
}
}
使用类
OkHttpClient okHttpClient=new OkHttpClient.Builder()
.addInterceptor(new NetWorkInterceptor())
.build();
- 拦截器的简单使用
- struts2的拦截器的简单使用
- 使用拦截器的简单例子
- Spring mvc 拦截器的简单使用
- stuts2 拦截器的简单使用
- filter拦截器的简单使用
- struts拦截器的使用(简单例子)
- OKHTTP拦截器的简单使用
- spring boot的拦截器简单使用
- OkHttp拦截器的简单使用
- Spring拦截器的简单使用
- SpringMVC拦截器简单使用
- SpringMVC拦截器简单使用
- SpringMVC拦截器简单使用
- SpringMVC拦截器简单使用
- SpringgMVC拦截器简单使用
- SpringMVC拦截器简单使用
- SpringMVC拦截器简单使用
- HDU 5933 ArcSoft's Office Rearrangement 贪心
- 异常捕获器
- A
- Xlistview
- 7.1 缓存的概念与应用
- 拦截器的简单使用
- SQL优化避免索引失效
- Tomcat 输入http://localhost:8080网页打不开
- Java8 I/O源码-Reader与Writer
- AngularJS记账本类型
- CodeForces 782B The Meeting Place Cannot Be Changed(二分)
- 事件委托机制
- linux下分布式环境安装
- idea快捷键