我正在Java 6中運行HttpClient 4.3.6。當我運行以下代碼時,身份驗證似乎成功。返回的狀態碼是200.但是,我在控制檯中收到以下錯誤消息:HttpClient 4.3.6返回「WARNING:NEGOTIATE身份驗證錯誤」
警告:NEGOTIATE身份驗證錯誤:提供的名稱無效(機制級別:無法裝入配置文件C:\ Windows \ krb5。 ini(系統找不到指定的文件))
如何消除此警告?
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpContext localContext = new BasicHttpContext();
HttpGet method = new HttpGet(url);
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope(host, 80),
new NTCredentials(userid, password, host, login_domain));
localContext.setAttribute(HttpClientContext.CREDS_PROVIDER, credsProvider);
String filePath = null;
// Execute the method.
CloseableHttpResponse clientResponse = httpclient.execute(method, localContext);
HttpEntity entity = clientResponse.getEntity();
int statusCode = clientResponse.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getRequestLine());
}
我相信如此。代碼運行時,我可以從IIS服務器獲取Crystal Report。當身份驗證失敗時,我根本沒有收到Crystal Report。 – 2014-12-04 21:24:05