Скручиваемость в охттп конвертация - PullRequest
0 голосов
/ 01 июня 2018

У меня есть curl вида curl -v -u username: password -H "Content-Type: application / json" ........

Не удалось взломать, как получитьчасть работы.Пробовал несколько вариантов, таких как

Authenticator proxyAuthenticator = new Authenticator() {
            @Override
            public Request authenticate(Route route, Response response) throws IOException {
                String credential = Credentials.basic("username", "password");
                return response.request().newBuilder()
                        .addHeader("Proxy-Authorization", credential)
                        .addHeader("Content-Type", "application/json")
                        .build();
            }
        };

и

httpClient.addInterceptor(new Interceptor() {
            @Override
            public Response intercept(Interceptor.Chain chain) throws IOException {
                Request original = chain.request();
                RequestBody requestBody = new FormBody.Builder().add("username", "password").build();
                Request request = original.newBuilder()
                        .addHeader("Content-Type", "application/json")
                        .method(original.method(), original.body())
                        .build();

                return chain.proceed(request);
            }
        });

Оба из которых не работают.Невозможно заставить его работать, даже разместив его в качестве заголовка.Пожалуйста, помогите!

1 Ответ

0 голосов
/ 01 июня 2018

Решил это этим.

protected Authenticator getBasicAuth(final String username, final String password) {
        return new Authenticator() {
            private int mCounter = 0;

            @Override
            public Request authenticate(Route route, Response response) throws IOException {
                if (mCounter++ > 0) {
                    return null;
                } else {
                    String credential = Credentials.basic(username, password);
                    return response.request().newBuilder().header("Authorization", credential).build();
                }
            }
        };
    }

затем добавил это как аутентификатор в мой клиент.

...