我“逼” HttpClient的做NTLM身份验证使用NTLM身份验证提供商进行协商错误:HttpClient的给出了使用
PoolingHttpClientConnectionManager connPool connPool = new PoolingHttpClientConnectionManager();
Lookup<AuthSchemeProvider> authProviders = RegistryBuilder.<AuthSchemeProvider>create()
.register(AuthSchemes.NTLM, new NTLMSchemeFactory())
.build();
CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connPool).setDefaultAuthSchemeRegistry(authProviders).build();
但是,认证服务器时,我得到一个恼人的日志提示“验证方案协商不支持”。
我该如何摆脱此消息?
(这将在Linux机器上运行,所以的HttpClient 4.4本机认证JNA支持也无济于事。)
我也尝试添加: '名单authpref =新的ArrayList(); authpref.add(AuthPolicy.NTLM); httpclient.getParams()。setParameter(AuthPNames.TARGET_AUTH_PREF,authpref);' 但它给出了相同的消息。上面的代码使用了不推荐使用的API,但我无法找到如何以新的首选方式进行操作。 – 2015-02-23 19:01:09