2012-04-20 48 views
3

私はAndroidアプリケーションでNTLM認証を使用するために、hereというJCIFSライブラリを使用しています。サイトに行ってxmlを解析したときにアプリが正常に機能しましたが、NTLMの認証を追加しました働いていないようです。問題がhttpclientとinputstreamの間にある場合、コードのこのスニペットから誰でも知ることができますか?AndroidアプリのNTLM認証

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(); 

答えて

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); 
0

はあまりにも長い道のりのために、この問題に引っかかっされて。

NTLM認証のためOkHttp3使用するには、このスレッドで答えをチェックアウトコール:

https://stackoverflow.com/a/42114591/3708094