我正在使用reatrofit v2.4,它在标题中添加了一个新的线字符,这使我的呼叫失败
"授权:基本DXNLCM5HBWU6CGFZC3DVCMQ = n"
什么是解决方案?
创建一个实现okhttp3.Interceptor
和覆盖intercept()
的类,并对标头进行任何您想做的事情,无论是外向还是输入:
@Override
public Response intercept(Chain chain) throws IOException {
Request initialReq = chain.request();
Headers outgoingHeaders = initialRequest.headers()
...
Request modRequest = initialReq.newBuilder()
.addHeader(...);
Response response = chain.proceed(modRequest);
Headers incomingHeaders = response.headers();
...
return response;
}
不要忘记将其添加到httpclient:
OkHttpClient client = new OkHttpClient.Builder()
...
.addInterceptor(headersInterceptor)
.build();