Android okhttp3出现协议异常错误-后续请求太多:21

Android okhttp3出现协议异常错误-后续请求太多:21,android,retrofit,retrofit2,okhttp3,protocolexception,Android,Retrofit,Retrofit2,Okhttp3,Protocolexception,我有一个TokenAuthenticator类,它实现了Authenticator接口 TokenAuthenticator类如下所示: import java.io.IOException; import okhttp3.Authenticator; import okhttp3.Request; import okhttp3.Response; import okhttp3.Route; import retrofit2.Call; public class TokenAuthentic

我有一个TokenAuthenticator类,它实现了Authenticator接口

TokenAuthenticator类如下所示:

import java.io.IOException;

import okhttp3.Authenticator;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.Route;
import retrofit2.Call;

public class TokenAuthenticator implements Authenticator{
    private String refreshTokenString;
    private AuthenticationServiceApi serviceApi;


    public TokenAuthenticator(ServiceGenerator serviceGenerator, String refreshTokenString) {
        this.refreshTokenString = refreshTokenString;
        serviceApi = (AuthenticationServiceApi) serviceGenerator.createService(AuthenticationServiceApi.class);
    }

    @Override
    public Request authenticate(Route route, Response response) throws IOException {
        RefreshToken refreshToken = new RefreshToken(refreshTokenString);
        Call<RefreshTokenResponse> refreshTokenCall = serviceApi.refreshTokenSync(Constants.CONTENT_TYPE,refreshToken);
        RefreshTokenResponse refreshTokenResponse = refreshTokenCall.execute().body();
        if(refreshTokenResponse != null) {
            return response.request().newBuilder()
                    .header("Authorization", refreshTokenResponse.accessToken)
                    .build();
        }
        return null;
    }
}
我在改装和okHttp3中使用,我需要做什么???

好,我遇到问题(需要将承载添加到标头请求):

需要改变:

return response.request().newBuilder()
                    .header("Authorization", refreshTokenResponse.accessToken)
                    .build();
根据本守则:

return response.request().newBuilder()
                    .header("Authorization", "Bearer " +  refreshTokenResponse.accessToken)
                    .build();
return response.request().newBuilder()
                    .header("Authorization", refreshTokenResponse.accessToken)
                    .build();
return response.request().newBuilder()
                    .header("Authorization", "Bearer " +  refreshTokenResponse.accessToken)
                    .build();