web-dev-qa-db-ja.com

OkHttp 2.0で次のリダイレクトを無効にすることはできますか?

Androidでは、新しいOkHttp 2.0を使用して一部のURLをリクエストしたいのですが、リダイレクトをより細かく制御したいのですが。次のHTTPS→HTTPまたはHTTP→HTTPSリダイレクトを有効または無効にするオプションをすでに見つけましたが、リダイレクトを追跡したくないので、できるだけ早くGUIを更新し、それらから追跡するかどうかを選択できますアプリケーションロジック。これを行うオプションが表示されません。それは可能ですか?可能であれば、どうすればこれを達成できますか?

40
Dan Hulme

はい、バージョン2.3.0で可能です。

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

3.xの場合

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

それは不可能のようですが、少なくとも Githubの関連する問題 に関するこれらのコメントのいくつかによれば、それは次のリリースに入ると思われます。

編集:okhttp-urlconnectionサブモジュールの一部であるOkUrlFactoryを介して可能であるように見えます(まだこれの実際の目的を理解していませんが、Http(s)UrlConnectionのように見えます置換)。

編集2:実際には、しばらくお待ちください。 マスターに実装されています のように見えます。ただし、これも2.0.0リリースのスナップショットに含まれなかったようです。

2
kibibyte

試す

client.setFollowRedirects(true|false);

または、HTTPUrlConnectionモジュールを使用している場合:

HTTPUrlConnection.setFollowRedirects(true|false);
1
Max Hille