【问题标题】:Is it possible to disable following redirects in OkHttp 2.0?是否可以在 OkHttp 2.0 中禁用以下重定向?
【发布时间】:2014-07-22 16:44:36
【问题描述】:

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

【问题讨论】:

    标签: android redirect okhttp


    【解决方案1】:

    是的,在 2.3.0 版中是可能的

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

    对于 3.x

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

    【讨论】:

    • 版本3.x怎么办?
    • @Hunt 你能在 3.x 版本中找到一种方法吗
    • @SyedaZunairah 我为 3.x 添加了示例
    • @DawidDrozd 谢谢 :)
    【解决方案2】:

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

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

    编辑 2:实际上,等等;它看起来像it is implemented on master。但是,它似乎也没有出现在 2.0.0 版本快照中。

    【讨论】:

      【解决方案3】:

      试试

      client.setFollowRedirects(true|false);
      

      或者,如果使用 HTTPUrlConnection 模块:

      HTTPUrlConnection.setFollowRedirects(true|false);
      

      【讨论】:

        猜你喜欢
        • 2016-11-11
        • 2015-09-26
        • 2021-01-15
        • 1970-01-01
        • 2011-06-13
        • 1970-01-01
        • 1970-01-01
        • 2022-01-11
        • 1970-01-01
        相关资源
        最近更新 更多