gpt4 book ai didi

java - Apache HTTP 客户端 socks 代理

转载 作者:行者123 更新时间:2023-12-01 05:18:09 24 4
gpt4 key购买 nike

我目前正在从事一个 Web 请求项目,并且正在使用 Apache Http 客户端库。我尝试使用经过 mozilla firefox 测试的工作 Socks v4/5 连接到服务器(例如 http://www.google.com ),但问题是我从未得到响应。只是不同的错误...

这是一个代码片段:

//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 代理发起通信的正确方法吗?谢谢!

注意:上面的代码与 HTTP 代理完美配合。

最佳答案

Http代理和socks代理具有非常不同的协议(protocol)( http://en.wikipedia.org/wiki/SOCKS#Comparison )。对于你的问题:您可以通过 native java 套接字 ( How can I configure HTTPClient to authenticate against a SOCKS proxy? ) 执行此操作,或者通过 DefaultClientConnectionOperator 创建自己的实现,这是很好的指南 ( http://4devops.blogspot.com/2011/10/httphttps-over-socks-proxy-with-java.html )

关于java - Apache HTTP 客户端 socks 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10886053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com