是否可以在OkHttp 2.0中禁用以下重定向?

时间:2014-06-02 14:14:48

标签: android redirect okhttp

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

3 个答案:

答案 0 :(得分:55)

是的,可以在2.3.0版本中使用

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

对于3.x

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

答案 1 :(得分:2)

似乎它是不可能的,但它应该会进入下一个版本,至少根据related issue on Github上的一些评论。

编辑:看起来可以通过OkUrlFactory来实现,这是okhttp-urlconnection子模块的一部分(仍然没有找到实际目的,但它看起来像{{ 1}}替换)。

编辑2:实际上,坚持下去;它看起来像it is implemented on master。但是,它看起来还没有进入2.0.0版本的快照。

答案 2 :(得分:0)

尝试

client.setFollowRedirects(true|false);

或者,如果使用HTTPUrlConnection模块:

HTTPUrlConnection.setFollowRedirects(true|false);