public class TokenInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request original = chain.request();
//请求定制:添加请求头
Request.Builder requestBuilder = original.newBuilder();
String access_token = (String)SPHelper.get(BaseApplication.getAppComponent().getContext(),"access_token","");
if(!TextUtils.isEmpty(access_token)){
requestBuilder.addHeader("Authentication", access_token);
}
//请求体定制:统一添加token参数
if (original.body() instanceof FormBody) {
FormBody.Builder newFormBody = new FormBody.Builder();
FormBody oidFormBody = (FormBody) original.body();
for (int i = 0; i < oidFormBody.size(); i++) {
newFormBody.addEncoded(oidFormBody.encodedName(i), oidFormBody.encodedValue(i));
}
// newFormBody.add("Authentication", "222222222222");
requestBuilder.method(original.method(), newFormBody.build());
}
Request request = requestBuilder.build();
return chain.proceed(request);
}
}
笔计:okhttp3 Interceptor 拦截器 请求前
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 开始之前先甩上retrofit和okhttp的github链接:https://github.com/square...
- 在Okhttp3中拦截器分为应用拦截器和网络拦截器,两者有很大的区别,在使用时一定要注意防止用错造成不必要的麻烦,...
- 1.春花秋月:想起以前的春花秋月,她不仅莞尔一笑。 2.垂涎欲滴:看到这一桌子的美味佳肴我早已垂涎欲滴。 3.捶胸...