如何使用httpclient 4.3进行身份验证

时间:2013-12-01 15:05:32

标签: java apache-httpclient-4.x

我刚刚升级到org.apache.httpcomponents.httpclient 4.3。以前我创建了一个客户端并进行了这样的先发制人认证:

final HttpClient client = new DefaultHttpClient();
final HttpRequestBase request = new HttpGet(url);
request.addHeader(BasicScheme.authenticate( new UsernamePasswordCredentials(username,password), "UTF-8", false));

现在不推荐使用,我必须创建一个客户端并进行身份验证:

HttpClientBuilder clientBuilder = HttpClientBuilder.create();
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));

clientBuilder = clientBuilder.setDefaultCredentialsProvider(credentialsProvider);

然而,我没有进行身份验证并成功获得GET,而是获得了302响应。我认为这可以通过设置先发制人身份验证来解决,但我无法找到。也许我在第二个例子中的身份验证都错了?

请问我能指点一下吗?

1 个答案:

答案 0 :(得分:0)

目前尚不清楚这是否真的是一个真正的问题。

HTTP 302是重定向。您需要遵循重定向。