Запрос OkHttp через прокси с аутентификацией завершается неудачно - PullRequest
0 голосов
/ 25 апреля 2018

Аналогичный вопрос был на GitHub: https://github.com/square/okhttp/issues/2900

Я пытаюсь сделать запрос, используя код:

final Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxyhost", 8001));
final Response response = new OkHttpClient.Builder()
        .proxy(proxy)
        .proxyAuthenticator(new Authenticator() {
            @Override
            public Request authenticate(Route route, Response response) throws IOException {
                String credential = Credentials.basic("proxyuser", "proxypass");
                return response.request().newBuilder()
                        .header("Proxy-Authorization", credential)
                        .build();                        
            }
        })
        .build()
        .newCall(new Request.Builder()
                .get()
                .url("https://www.google.com/")
                .build())
        .execute();

Но я получаю ошибку: 407 Proxy Authentication Required

Кстати, когда я настраиваю прокси на моем ПК, открываю Chrome и захожу в Google, появляется окно, где я должен ввести логин и пароль.И если я нажму кнопку «Отмена» - появится та же страница с текстом

407 Требуется проверка подлинности прокси.Доступ к запрашиваемому ресурсу запрещен администратором, или вам нужен правильный логин / пароль для использования этого ресурса

Итак, мой вопрос, как использовать прокси с OkHttp?Было бы полезно узнать другие способы или библиотеки для работы с прокси

1 Ответ

0 голосов
/ 17 января 2019

Попробуйте удалить Basic из net.properties в папке jre / lib

jdk.http.auth.tunneling.disabledSchemes=Basic

должно быть

jdk.http.auth.tunneling.disabledSchemes=
...