Android Retrofit 更新 HTTP 客户端配置



我们有一个案例,在将证书固定与OKHttp客户端和改造一起使用时,我们可能必须更新公钥。我的问题是,在初始化改造后(例如,收到新的公钥时(,我将如何更新 http 客户端的证书转换器?

我是否在 http 客户端中更新证书密码器,然后创建一个新的改造实例?还是有更简单的方法?

任何建议表示赞赏。

OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
clientBuilder.certificatePinner(NetworkUtils.getCertificatePinner()) ;
OKHTTPClient client = clientBuilder.build();
Retrofit myRetrofit = new Retrofit.Builder()
.baseUrl(url)
.client(client)
.build();
// Now I need to update the certificate pinner, like this?
client.certificatePinner(NetworkUtils.getCertificatePinner());
myRetrofit = new Retrofit.Builder()
.baseUrl(url)
.client(client)
.build();

您是否尝试使用拦截器。内部类 过期会话拦截器:拦截器 {

override fun intercept(chain: Interceptor.Chain): Response {
val request = chain.request()
val response = chain.proceed(request)
if (response.code() == 202) {
val newRequest = request.newBuilder().build()
return chain.proceed(newRequest)
} else {
return response;
}
}
}

相关内容

  • 没有找到相关文章

最新更新