我会开q。如果代理服务器使用的是基本身份验证,则可以使用以下代码段作为示例:
DefaultHttpClient httpclient = new DefaultHttpClient();httpclient.getCredentialsProvider().setCredentials( new AuthScope("PROXY HOST", 8080), new UsernamePasswordCredentials("username", "password"));HttpHost targetHost = new HttpHost("TARGET HOST", 443, "https");HttpHost proxy = new HttpHost("PROXY HOST", 8080);httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
如果代理服务器正在使用NTLM身份验证,则我不认为NTLM支持可用于所有代理服务器版本(它将与某些NTLM身份验证代理服务器版本一起使用-
检查代理是否正在使用v1或v2的NTLM身份验证)。有关参考和解决方法,您可以检查以下内容:
http://hc.apache.org/httpcomponents-client-
ga/ntlm.html
http://htmlunit.sourceforge.net/ntlm.html
http://devsac.blogspot.com/2010/10/supoprt-for-ntlmv2-with-
apache.html
根据您的代理服务器,您可能需要查看NTCredentials而不是UserPasswordCredentials。
我还建议您不妨考虑使用Wireshark捕获网络数据包并检查代理服务器的响应,以完全确定是什么引起了该问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)