gpt4 book ai didi

android - 在 Okhttp 中处理身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:14 24 4
gpt4 key购买 nike

根据 OKHttp 文档,我将 OkHttp 2.3 与基本身份验证请求一起使用,它会自动重试未经身份验证的请求,但每当我提供无效凭据时,请求都会花费太多时间,我会收到此异常最后:

java.net.ProtocolException: Too many follow-up requests: 21

如何防止 OkHttp 自动重试未经身份验证的请求,并返回 401 Unauthorized

最佳答案

protected Authenticator getBasicAuth(final String username, final String password) {
return new Authenticator() {
private int mCounter = 0;

@Override
public Request authenticate(Proxy proxy, Response response) throws IOException {
if (mCounter++ > 0) {
throw new AuthenticationException(
AuthenticationException.Type.INVALID_LOGIN, response.message());
}

String credential = Credentials.basic(username, password);
return response.request().newBuilder().header("Authorization", credential).build();
}

@Override
public Request authenticateProxy(Proxy proxy, Response response) throws IOException {
return null;
}
};
}

在我的身份验证器中,我只是计算尝试次数 - X 次尝试后,我抛出异常。

关于android - 在 Okhttp 中处理身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29456534/

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