47

在 Android 中,我想使用新的 OkHttp 2.0 来请求一些 URL,但我想更多地控制重定向。我已经找到了启用或禁用遵循 HTTPS → HTTP 或 HTTP → HTTPS 重定向的选项,但我不想遵循任何重定向,因此我可以尽快更新我的 GUI,并选择是否遵循它们应用逻辑。我没有看到这样做的选项。有可能吗,如果可以,我该如何实现?

4

3 回答 3

72

是的,在 2.3.0 版本中是可能的

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

对于 3.x

OkHttpClient client = new OkHttpClient().newBuilder()
                                            .followRedirects(false)
                                            .followSslRedirects(false)
                                            .build();
于 2015-03-25T23:03:06.910 回答
2

似乎不可能,但至少根据Github 上相关问题的一些评论,它应该会进入下一个版本。

编辑:看起来可以通过OkUrlFactory,这是 okhttp-urlconnection 子模块的一部分(仍然没有弄清楚这个的实际目的,但它看起来像一个Http(s)UrlConnection替代品)。

编辑2:实际上,等等;看起来它是在 master 上实现的。但是,它看起来也没有进入 2.0.0 版本快照。

于 2014-08-11T08:15:56.407 回答
1

尝试

client.setFollowRedirects(true|false);

或者,如果使用 HTTPUrlConnection 模块:

HTTPUrlConnection.setFollowRedirects(true|false);
于 2014-08-06T12:25:28.990 回答