我们构建了一个 Java 客户端应用程序,该应用程序连接到需要 NTLM 身份验证的代理后面的 API。该应用程序使用 Jetty HttpClient。
不幸的是,身份验证失败并出现 407
Response headers HttpResponse[HTTP/1.1 407 Proxy Authorization Required]@3577846e
Proxy-Authenticate: Negotiate
Proxy-Authenticate: NTLM
我们尝试使用 SPNEGOAuthentication-class 进行身份验证
AuthenticationStore authStore = httpClient.getAuthenticationStore();
SPNEGOAuthentication auth = new SPNEGOAuthentication(proxyUrl);
auth.setUserName(user);
auth.setUserPassword(password);
authStore.addAuthentication(auth);
ProxyConfiguration proxyConfig = httpClient.getProxyConfiguration();
HttpProxy proxy = new HttpProxy(proxyUrl.getHost(), proxyUrl.getPort());
proxyConfig.getProxies().add(proxy);
但没有成功(407)。我们还尝试覆盖 DefaultAuthenticator。
任何提示我们可能做错了什么或其他建议?
提前问候和感谢,托马斯