Подтвердить что ты не робот

Можно ли отключить следующие перенаправления в OkHttp 2.0?

В Android я хотел бы использовать новый OkHttp 2.0 для запроса некоторых URL-адресов, но я бы хотел больше контролировать перенаправления. Я уже нашел вариант включить или отключить следующие HTTPS → HTTP или HTTP → переадресации HTTPS, но я бы не хотел следовать перенаправлениям, поэтому я могу как можно скорее обновить свой графический интерфейс и выбрать, следует ли следовать им из логика приложения. Я не вижу возможности сделать это. Возможно ли, и если да, то как я могу это достичь?

4b9b3361

Ответ 1

Да, это возможно в версии 2.3.0

final OkHttpClient client = new OkHttpClient();
client.setFollowRedirects(false);

Для 3.x

OkHttpClient client = new OkHttpClient().newBuilder()
                                            .followRedirects(false)
                                            .followSslRedirects(false)
                                            .build();

Ответ 2

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

Edit: Похоже, что это возможно с помощью OkUrlFactory, который является частью подмодуля okhttp-urlconnection (до сих пор не понял фактическую цель этого, но выглядит как замена Http(s)UrlConnection).

Изменить 2: На самом деле, держитесь; он выглядит как он реализован на главном компьютере. Тем не менее, похоже, что это не привело к созданию моментального снимка версии 2.0.0.

Ответ 3

Try

client.setFollowRedirects(true|false);

или, если вы используете модуль HTTPUrlConnection:

HTTPUrlConnection.setFollowRedirects(true|false);