【发布时间】:2016-02-19 02:17:21
【问题描述】:
您应该如何使用Google Http Client 进行 NT 身份验证?
我可以找到有关 Apache HttpClient 和 NTCredentials 的大量信息,并且我可以使用这些信息,但在我试图标准化新代码的 Google 客户端上却没有。
我已经走到这一步了:
final NTCredentials ntc = new NTCredentials(System.getProperty("user.name"), args[0], InetAddress.getLocalHost().getHostName(), "DOMAIN");
final BasicCredentialsProvider cp = new BasicCredentialsProvider();
cp.setCredentials(AuthScope.ANY, ntc);
final HttpClientBuilder hcb = HttpClientBuilder.create();
hcb.setDefaultCredentialsProvider(cp);
final HttpTransport ht = new ApacheHttpTransport(hcb.build());
我得到了这个异常:
Exception in thread "main" java.lang.UnsupportedOperationException
at org.apache.http.impl.client.InternalHttpClient.getParams(InternalHttpClient.java:210)
at com.google.api.client.http.apache.ApacheHttpTransport.<init>(ApacheHttpTransport.java:129)
at GoogleHttpClientScratch.main(GoogleHttpClientScratch.java:36)
由org.apache.http.impl.client.InternalHttpClient.java引起的:
@Override
public HttpParams getParams() {
throw new UnsupportedOperationException();
}
【问题讨论】:
标签: java authentication windows-authentication apache-httpclient-4.x google-http-client