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