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



我正在将httpclient 3.x迁移到httpclient 4.3.x。

在httpClient 3.x中,我使用了setDoAuthentication(false),这确保了该方法不会自动处理身份验证挑战。如何使用httpClient 4.3.x设置相同的功能?

我已经浏览了httpmethods和httpclient的javadocs,但没有办法做到这一点。我最接近的是在httpClientBuilder中使用disableAuthCaching(),但不确定它是否能达到目的。

有人能提供一些建议吗?

我在某个地方读到,有一个参数可以让我们实现这种行为,但我在任何地方都找不到。如果这看起来是一个非常基本的问题,我很抱歉。

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

@spock8190感谢您的帖子,这给了我正确的提示。但新的方法名称是setAuthenticationEnabled(至少对于4.5)

确定是否应自动处理身份验证。

示例:

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

最新更新