简体   繁体   English

Apache HTTP客户端袜子代理

[英]Apache HTTP Client socks proxy

I am currently working at a web requests project and I am using Apache Http Client library. 我目前在一个Web请求项目中工作,并且正在使用Apache Http Client库。 I try to connect to a server (Eg http://www.google.com ) with an working Socks v4/5 tested with mozilla firefox but the problem is that I never get a response. 我尝试使用经过mozilla firefox测试的可正常工作的Socks v4 / 5连接到服务器(例如http://www.google.com ),但是问题是我从未得到响应。 Only different errors... 只有不同的错误...

Here is a code snippet: 这是一个代码片段:

//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);

Can anyone tell a proper way to initiate comunnication through SOCKS proxies? 谁能说出通过SOCKS代理发起通信的正确方法? Thanks! 谢谢!

Note: The code above works perfect with HTTP proxies. 注意:上面的代码可完美地与HTTP代理一起使用。

Http proxy and socks proxy has very different protocols ( http://en.wikipedia.org/wiki/SOCKS#Comparison ). Http代理和袜子代理具有非常不同的协议( http://en.wikipedia.org/wiki/SOCKS#Comparison )。 For your question: You can do thTis by native java socket ( How can I configure HTTPClient to authenticate against a SOCKS proxy? ) or create your own implementation over DefaultClientConnectionOperator, here is good guide ( http://4devops.blogspot.com/2011/10/httphttps-over-socks-proxy-with-java.html ) 对于您的问题:您可以通过本机Java套接字( 如何配置HTTPClient以根据SOCKS代理进行身份验证? )进行操作,或通过DefaultClientConnectionOperator创建自己的实现,此处提供了很好的指南( http://4devops.blogspot.com/2011 /10/httphttps-over-socks-proxy-with-java.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM