Apache HTTP客户端袜子代理

问题描述:

我目前在一个Web请求项目工作,我使用Apache Http客户端库。我尝试用工作在Socks v4/5上的Mozilla Firefox浏览器连接到服务器(例如http://www.google.com),但问题是我从来没有得到任何回应。只有不同的错误...Apache HTTP客户端袜子代理

下面的代码片段:

//HttpClient 
DefaultHttpClient http = new DefaultHttpClient(); 
//A class defined by me 
Proxy proxy = bla bla; 
HttpHost host = new HttpHost(proxy.getIP(), proxy.getPort()); 
if (proxy.getUsername() != null) { 
    http.getCredentialsProvider().setCredentials(
          new AuthScope(proxy.getIP(), proxy.getPort()), 
          new UsernamePasswordCredentials(proxy.getUsername(), proxy.getPassword())); 
} 
http.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, host); 

谁能告诉发起,通过SOCKS代理comunnication有道?谢谢!

注意:上面的代码适用于HTTP代理。

+0

u得到什么错误? –

+0

java.net.SocketException:软件导致连接中止:recv失败或服务器不可升级等,但如果我使用代理与mozilla它的工作。 –

Http代理和袜子代理具有非常不同的协议(http://en.wikipedia.org/wiki/SOCKS#Comparison)。 对于你的问题: 您可以通过本地Java插座(How can I configure HTTPClient to authenticate against a SOCKS proxy?)做thTis或创建自己的过DefaultClientConnectionOperator实现,这里是很好的指导(http://4devops.blogspot.com/2011/10/httphttps-over-socks-proxy-with-java.html