【发布时间】:2016-11-23 09:18:02
【问题描述】:
我正在尝试从共享点服务器获取数据。 以下是我的代码。
DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getAuthSchemes().register("ntlm", new NTLMSchemeFactory());
httpclient.getCredentialsProvider().setCredentials(new AuthScope("masconsult.eu", -1),
new NTCredentials(username, password, "", ""));
HttpGet httpGet = new HttpGet(webserviceUrl);
httpGet.addHeader("Content-type", "application/json");
httpGet.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);
// HttpResponse response="";
String responseXML = "";
HttpResponse response = httpclient.execute(httpGet);
response.getStatusLine().getReasonPhrase();
responseXML = EntityUtils.toString(response.getEntity());
Toast.makeText(this, responseXML, Toast.LENGTH_LONG).show();
我收到响应 HTTP/1.1 401 Unauthorized。甚至我都添加了所有正确的凭据。 在 Chrome 浏览器中使用相同的凭据可以正常工作。 请建议我对代码进行任何更改。
【问题讨论】:
-
您可能不需要对代码进行任何更改。在 IE 中,在工具 > 高级下,确保您已启用“集成 Windows 身份验证”,在工具 > 安全 > 本地 Intranet 区域 > 站点 > 高级下,确保列出了目标网站。清除 cookie 并重新启动 IE。
标签: java android authentication sharepoint ntlm