我这里有一批实时更新的http匿名代理服务器的IP和端口号,请问怎么用java语言对这些服务器进行编程验证他们的可用性,选出其中有效的匿名代理服务器。
补充一下,我使用的是commons-httpclient-3.0
Socket验证就可以了
new Socket("127.0.0.1", 1111);
如果不通的话会抛出异常
Connection refused
使用HttpClient设置代码,并访问一个网页,查看页面是否包含固定字符串,比如访问sina.com.cn,看看包含不包含"新浪"
[code="java"] public static HttpClient getHC() {
HttpClient httpClient = new HttpClient();
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(
10000);
httpClient.getHttpConnectionManager().getParams().setSoTimeout(10000);
httpClient.getHostConfiguration().setProxy("211.233.41.27", 8080);
return httpClient;
}[/code]
当然,你需要每次访问设置不同的代码,可以作为getHC()方法的参数传入。
再补充一下,我没有在httpclient中找到使用socks代理的方法,但可以直接使用
System.setProperty("socksProxyHost", "127.0.0.1");
System.setProperty("socksProxyPort", "7070");
设置全局的socks代理。