Take this code into consideration:
Proxy p = new Proxy(Type.SOCKS, new InetSocketAddress(proxyURL, port));
try {
long time = System.currentTimeMillis();
URLConnection urlConn = url.openConnection(p);
System.out.println(urlConn.getContent());
int ping = (int)(System.currentTimeMillis() - time);
System.out.println(proxyURL+ ":" +port+ " ... works as SOCKS, ping: " +ping);
} catch (IOException e) {
//e.printStackTrace();
}
I have verified though Wireshark that this doesn't work on a valid socks4 proxy. At this time these are valid socks4 ONLY proxy servers:
92.241.233.75:1080
58.214.5.162:1080
222.51.38.138:1080
121.8.124.42:1080
220.179.61.62:1080
75.125.63.178:1080
201.59.145.141:1080
117.20.60.144:1080
Yet, feed it a valid socks5 proxy and it works fine:
62.243.224.179