okhttp切换BaseURL后 监听不到新的请求记录 只有旧的记录
S*科技
发布于 3 年前
1616来自广东省应用性能监控 U-APM
数据异常
已经将监听放置在应用拦截器里了 依旧是不行 虽然日志会展示切换后的url 但实际上传的是切换之前的
okhttp配置代码
private static OkHttpClient provideClient(GlobalHttpHandler httpHandler) {
OkHttpClient.Builder builder = new OkHttpClient.Builder();
GlobalHttpHandler handler = httpHandler == null ? GlobalHttpHandler.DEF : httpHandler;
builder.connectTimeout(TIME_OUT, TimeUnit.SECONDS)
.readTimeout(TIME_OUT, TimeUnit.SECONDS)
.addNetworkInterceptor(new RequestInterceptor(handler));
builder.addInterceptor(chain -> chain.proceed(handler.onHttpRequestBefore(chain, chain.request())));
//如果外部提供了 Interceptor 的集合则遍历添加
// if (interceptors != null) {
// for (Interceptor interceptor : interceptors) {
// builder.addInterceptor(interceptor);
// }
// }
//为 OkHttp 设置默认的线程池
builder.dispatcher(new Dispatcher(provideExecutorService()));
// okhttpBuilder.sslSocketFactory(); //支持 Https, 详情请百度
builder.writeTimeout(10, TimeUnit.SECONDS);
//使用一行代码监听 Retrofit/Okhttp 上传下载进度监听,以及 Glide 加载进度监听, 详细使用方法请查看 https://github.com/JessYanCoding/ProgressManager
ProgressManager.getInstance().with(builder);
//让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl, 详细使用方法请查看 https://github.com/JessYanCoding/RetrofitUrlManager
RetrofitUrlManager.getInstance().with(builder);
// 预埋友盟http网络分析监听
builder.eventListenerFactory(OkHttpListener.get())
.addInterceptor(new OkHttpInterceptor());
return builder.build();
}
