gpt4 book ai didi

java - Unirest 正在缓存基本身份验证信息

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:24 37 4
gpt4 key购买 nike

我们正在调用后端 2 个 REST 服务(A、B)(GET 方法),这两个服务具有不同的凭据(用户名和密码),但我们遇到了奇怪的行为:

1-如果我们先调用A,身份验证成功,但如果我们调用B,我们将收到禁止(身份验证失败)

然后我们再次部署应用程序并执行此场景:

2-先调用B,认证成功,但是如果我们调用A,我们会收到禁止(认证失败):

这是调用后端服务的示例代码:

HttpResponse<String> resp;
try {
resp = Unirest.get(url)
.basicAuth(username,password).asString();
String jsonstr = resp.getBody();
} catch (Exception e) {
e.printStackTrace();
throw e;
}

有什么帮助吗?

最佳答案

问题在于 HTTP 客户端正在缓存 JSESSIONID cookie。我已切换到此处找到的 OpenUnirest 2.2.08+ 版本的库:https://github.com/OpenUnirest/unirest-java

现在我可以设置禁用 cookie 管理的选项,现在我的基本身份验证缓存问题已解决。

Options.enableCookieManagement(false);

有关详细信息,请参阅问题票证:https://github.com/OpenUnirest/unirest-java/issues/30

关于java - Unirest 正在缓存基本身份验证信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45304424/

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