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