我需要使用socks 4代理来调用服务器。我在Java版本1.6。与Socks 4代理进行HTTP通话
如果我们用这样的事情,然后它把SOCKS代理的版本5
URL url = new URL("https://www.google.com");
URLConnection connection = null;
SocketAddress proxySocketAddress1 = new InetSocketAddress("XXXXXXXXXX", 8081);
Proxy proxy = new Proxy(Proxy.Type.SOCKS, proxySocketAddress1);
connection = url.openConnection(proxy);
connection.setConnectTimeout(150000);
connection.connect();
我可以通过做
// Set SOCKS proxy
System.getProperties().put("socksProxyHost","xxxxx");
System.getProperties().put("socksProxyPort","1234");
System.getProperties().put("socksProxyVersion","4");
当我做到这一点我在系统级设置socks代理能够到达服务器
connection = url.openConnection();
但我的其他连接像连接到数据库,加密ption服务器也通过代理失败。
我也试过,不包括系统代理,但没有成功服务器。
System.getProperties().put("socksnonProxyHosts","*.net");
System.getProperties().put("http.nonProxyHosts","*.net");
是否有任何其他方式可以选择在java 1.6中使用SOCKS4。
'socksnonProxyHosts'未在[Java的网络和代理(http://docs.oracle.com/javase/7/docs/technotes/guides/net/proxies.html)上市,也没有这样的事情。 (无论是'socksProxyVersion,'但@RemyLebeau给出的错误链接描述为在Java 7中添加)使用标准JDK库使用任何SOCKS4代理 – EJP