我正在使用 apache commons 3.1 来实现具有代理支持的 httpClient。我正在尝试通过代理连接到远程主机。代理服务器配置为没有任何身份验证,但是远程主机配置了身份验证。当我通过属性文件传递代理参数时,它会在执行时发出警告:
WARN - 所需的代理凭据不适用于 BASIC @xx.xx.xx.xx WARN - 请求抢先身份验证,但没有可用的默认代理凭据
但执行继续进行。
另一方面,当我通过 JVM 参数传递代理参数时,再次给出相同的警告并停止执行。
这种行为有什么具体原因吗?通过属性文件和通过 JVM arg 传递代理参数有什么区别吗?
这是代码:
if(System.getProperty("http.proxyHost") != null && System.getProperty("http.proxyPort") != null) {
httpClient.getHostConfiguration().setProxy(System.getProperty("http.proxyHost"), Integer.parseInt(System.getProperty("http.proxyPort")));
}
else if(AMXAdminTask.props.getProperty("http.proxyHost") != null && AMXAdminTask.props.getProperty("http.proxyPort") != null) {
httpClient.getHostConfiguration().setProxy(Propfile.props.getProperty("http.proxyHost"), Integer.parseInt(Propfile.props.getProperty("http.proxyPort")));
}