httpclient implements ntlm authentication (window)

httpclient version 4.5

wrote
import java.nio.charset.Charset;

import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.NTCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;


public class SCORunbookTest {
private void test() throws Exception {
CredentialsProvider credsProvider = new BasicCredentialsProvider();

NTCredentials creds = new NTCredentials("user", "password", "", "");
credsProvider.setCredentials(new AuthScope("10.0.10.76", 81, null, "ntlm"), creds);
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider)
.build();
try {
HttpHost target = new HttpHost("10.0.10.76", 81, "http"); HttpContext localContext = new BasicHttpContext();
// Ensure that the same content is used to perform logically related requests

HttpGet httpGet = new HttpGet("/Orchestrator2012/Orchestrator.svc/");
CloseableHttpResponse response = httpclient.execute(target, httpGet, localContext);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
System.out.println(EntityUtils.toString(response.getEntity(), "utf-8"));

EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
} finally {
httpclient.close();
}
}
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326304720&siteId=291194637