gpt4 book ai didi

android - 如何使用 volley 和 okhttp 停止重试 401 请求

转载 作者:搜寻专家 更新时间:2023-11-01 08:56:53 30 4
gpt4 key购买 nike

我在我的应用程序中使用新的(差不多)volley 库进行联网。与我通信的服务器有时会返回 401,而没有正确的质询 header ,并且无法更改。

我开始使用 OkHttp作为 volley 的传输层,因为我实际上需要读取响应,并且当我收到 401 时抛出异常。现在尽管每当我收到 401 时,请求都会在到达我的错误监听器之前自动重试一次。这对我来说是有问题的,因为 401 中的响应在第二次请求时发生了变化,而这正是我可以访问的请求。

有什么方法可以更改此设置,使其在您收到 401 时不会自动重试,或者仅使用 volley 访问响应?

最佳答案

实现自己的 RetryPolicy 并覆盖 public void retry(VolleyError error) 方法,如下所示:

    @Override
public void retry(VolleyError error) throws VolleyError {
if (error.networkResponse.statusCode == HttpStatus.SC_UNAUTHORIZED)
{
throw new VolleyError("Client is not authorized, retry is pointless");
}
}

关于android - 如何使用 volley 和 okhttp 停止重试 401 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18332016/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com