дооснащение не отправка заголовков через https - PullRequest
0 голосов
/ 08 января 2020

Я использовал модификацию по «HTTP» и работал отлично, пока я не переключился на «HTTPS», внезапно сервер перестал быть способным больше видеть заголовки или модифицировать, не способную отправлять его.

OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new Interceptor() {

           @Override
           public Response intercept(Chain chain) throws IOException {
                        Request newRequest = chain.request().newBuilder()
                                .addHeader(Constants.AccessTokenHeaderName, AccessToken)
                                .addHeader(Constants.ClientTokenHeaderName, Global.getClientToken())
                                .addHeader(Constants.AuthCodeHeaderName, Global.getAuthCode(context))
                                .build();
                        return chain.proceed(newRequest);
                    }
                }).connectTimeout(0, TimeUnit.SECONDS).build();
                Gson gson = new GsonBuilder()
                        .setLenient()
                        .create();
                retrofitWithAuth = new Retrofit.Builder()
                        .client(client)
                        .baseUrl(BASE_URL)
                        .addConverterFactory(GsonConverterFactory.create(gson)).build();

1 Ответ

0 голосов
/ 08 января 2020

Возможно, вы пропустили протоколов (Collections.singletonList (Protocol.HTTP_1_1) ). Я создал OkHttpClient следующим образом:

 private static OkHttpClient getNewClient() {
    Interceptor interceptor = new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            //todo
            return null;
        }
    };
    return new OkHttpClient.Builder()
            .addInterceptor(interceptor)
            .connectTimeout(10, TimeUnit.SECONDS)
            .writeTimeout(10, TimeUnit.SECONDS)
            .readTimeout(20, TimeUnit.SECONDS)
            .protocols(Collections.singletonList(Protocol.HTTP_1_1)) // Disable HTTP/2 for interop with NGINX 1.9.5.
            .build();
}
...