2017-02-20 7 views
0

NTLM Autenticationを使用してHttpRest CallをJavaで送信しようとしました。私はorg.apache.http - Libを使ってみました。 HttpClientを使用してanonymos認証付きの投稿要求を送信するのは大きな問題ではありませんでした。 しかし、私はWindowsAuthenticationにいくつかの問題があります。私はCredentialProviderを自分のWindows資格証明と一緒に使ってみようとしましたが(妥協として、どちらも好きではありません)、成功しませんでした。 Javaコードからの投稿要求を送信するNTLM認証を使用する簡単な方法はありますか? 自分のニーズに合った別のライブラリがありますか?Http投稿要求NTLM認証なし(java)

Thxを - マルクス

答えて

2

私はまだNTLM認証についてhttps://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.htmlからDOKUが私のために働いていなかった理由はわかりません。 http://www.baeldung.com/httpclient-post-http-request

に記載されているように、私は最終的にそれは次のようになり、基本的な認証のための文書に類似し、それをやって私の問題を解決しました:

... 
CredentialsProvider credsProvider = new BasicCredentialsProvider(); 
     credsProvider.setCredentials(AuthScope.ANY, 
       new NTCredentials("username", "passwd", hostname, "domain.at")); 


HttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider).build(); 

HttpPost post = new HttpPost("http://www.example.com")); 

StringEntity input = new StringEntity(bodyAsString, HTTP.UTF_8); 
input.setContentType("application/json"); 
input.setContentEncoding("UTF-8"); 
post.setEntity(input); 

post.setHeader("Accept", "application/json"); 
post.setHeader("Content-type", "application/json"); 


HttpResponse response = client.execute(post); 
... 
関連する問題