java 如何在httpClient 4.3.x中强制http客户端不自动处理身份验证挑战?

pgky5nke  于 2023-02-11  发布在  Java
关注(0)|答案(2)|浏览(120)

我正在将我的httpclient 3.x迁移到httpclient 4.3.x。
在httpClient 3.x中,我使用了setDoAuthentication(false),这确保了方法不会自动处理身份验证挑战。如何在httpClient 4.3.x中设置相同的功能?
我已经浏览了httpmethods和httpclient的javadoc,但没有办法做到这一点,我最接近的是在httpClientBuilder中使用disableAuthCaching(),但不确定它是否能达到目的。
有人能提供一些建议吗?
我在哪里读到过有一个参数,通过它我们可以实现这个行为,但是我在任何地方都找不到它。如果它看起来像一个非常基本的问题,对不起。

ztyzrc3y

ztyzrc3y1#

我想我明白了。我猜可以通过在httpClient的requestConfig中将setDoAuthentication()方法设置为false来完成。

ruarlubt

ruarlubt2#

@spock8190谢谢你的帖子,这给了我正确的提示。但是新的方法名是setAuthenticationEnabled(至少对于4.5)
确定是否应自动处理身份验证。
示例:

HttpGet httpGet = new HttpGet("test.de");
    RequestConfig requestConfig = RequestConfig.custom().setAuthenticationEnabled(true).build();
    httpGet.setConfig(requestConfig);

相关问题