3

ここにあるJCIFSライブラリを使用して、AndroidアプリでNTLM認証を使用しています。サイトにアクセスしてxmlを解析しただけではアプリは正常に機能しましたが、NTLM認証を追加したため、機能していないようです。問題が httpclient と入力ストリームの間のどこにあるのか、このコード スニペットから誰でもわかりますか?

DefaultHttpClient client = new DefaultHttpClient();
client.getAuthSchemes().register("ntlm", new NTLMSchemeFactory());
client.getCredentialsProvider().setCredentials(new AuthScope("http://www.musowls.org",80),
new NTCredentials(username, password, null, "musschool"));  
HttpGet request = new HttpGet("http://www.musowls.org/assignments/assignmentsbystudentxml.aspx");
 HttpResponse resp = client.execute(request);
 HttpEntity entity = resp.getEntity();
 InputStream inputStream = entity.getContent();
4

3 に答える 3

0

以下のコードを試してみてください。

DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getAuthSchemes().register("ntlm", new NTLMSchemeFactory());

NTCredentials creds = new NTCredentials("user_name", "password", "", "http://www.musowls.org/");

httpclient.getCredentialsProvider().setCredentials(AuthScope.ANY, creds);
HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 5000);

HttpPost httppost = new HttpPost("http://www.musowls.org/assignments/assignmentsbystudentxml.aspx");
httppost.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);
HttpResponse response = httpclient.execute(httppost); // ERROR HAPPENS HERE

responseXML = EntityUtils.toString(response.getEntity());
Log.d("Responce", responseXML);
于 2014-04-15T13:07:36.230 に答える
0

1) ここから JCIFS をダウンロードします: http://jcifs.samba.org/

2) 次の手順に従ってください: http://hc.apache.org/httpcomponents-client-ga/ntlm.html

于 2015-03-10T00:19:26.230 に答える