【发布时间】:2017-12-08 10:32:54
【问题描述】:
我得到了
org.apache.commons.httpclient.auth.InvalidCredentialsException: 凭据不能用于 NTLM 身份验证:
eclipse 中的异常
是否可以提eclipse直接取系统代理设置?
public class HttpGetProxy {
private static final String PROXY_HOST = "proxy.****.com";
private static final int PROXY_PORT = 6050;
public static void main(String[] args) {
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("https://kodejava.org");
HostConfiguration config = client.getHostConfiguration();
config.setProxy(PROXY_HOST, PROXY_PORT);
String username = "*****";
String password = "*****";
Credentials credentials = new UsernamePasswordCredentials(username, password);
AuthScope authScope = new AuthScope(PROXY_HOST, PROXY_PORT);
client.getState().setProxyCredentials(authScope, credentials);
try {
client.executeMethod(method);
if (method.getStatusCode() == HttpStatus.SC_OK) {
String response = method.getResponseBodyAsString();
System.out.println("Response = " + response);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
}
}
}
例外:
2017 年 12 月 8 日下午 1:41:39 org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme 信息:已选择 ntlm 身份验证方案 2017 年 12 月 8 日下午 1:41:39 org.apache.commons.httpclient.HttpMethodDirector executeConnect 严重:凭据不能用于 NTLM 身份验证: org.apache.commons.httpclient.UsernamePasswordCredentials org.apache.commons.httpclient.auth.InvalidCredentialsException:凭据 不能用于 NTLM 身份验证:
enter code hereorg.apache.commons.httpclient.UsernamePasswordCredentials 在 org.apache.commons.httpclient.auth.NTLMScheme.authenticate(NTLMScheme.java:332) 在 org.apache.commons.httpclient.HttpMethodDirector.authenticateProxy(HttpMethodDirector.java:320) 在 org.apache.commons.httpclient.HttpMethodDirector.executeConnect(HttpMethodDirector.java:491) 在 org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:391) 在 org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) 在 org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) 在 org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) 在 HttpGetProxy.main(HttpGetProxy.java:31)
2017 年 12 月 8 日下午 1:41:39 org.apache.commons.httpclient.HttpMethodDirector processProxyAuthChallenge 信息:使用 NTLM @proxy.****.com:6050 进行身份验证失败
【问题讨论】:
标签: java