java实现代理ip有效检测,依赖Apache的HttpClient
正式版:
/**
* 批量代理IP有效检测
*
* @param proxyIpMap
* @param reqUrl
*/
public static void checkProxyIp(Map<String, Integer> proxyIpMap, String reqUrl) {
for (String proxyHost : proxyIpMap.keySet()) {
Integer proxyPort = proxyIpMap.get(proxyHost);
int statusCode = 0;
try {
HttpClient httpClient = new HttpClient();
httpClient.getHostConfiguration().setProxy(proxyHost, proxyPort);
// 连接超时时间(默认10秒 10000ms) 单位毫秒(ms)
int connectionTimeout = 10000;
// 读取数据超时时间(默认30秒 30000ms) 单位毫秒(ms)
int soTimeout = 30000;
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectionTimeout);
httpClient.getHttpConnectionManager().getParams().setSoTimeout(soTimeout);
HttpMethod method = new GetMethod(reqUrl);
statusCode = httpClient.executeMethod(method);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System. out .format( "%s:%s-->%s\n" , proxyHost, proxyPort, statusCode);
}
}
/**
* 代理IP有效检测
*
* @param proxyIp
* @param proxyPort
* @param reqUrl
*/
public static void checkProxyIp(String proxyIp, int proxyPort, String reqUrl) {
Map<String, Integer> proxyIpMap = new HashMap<String, Integer>();
proxyIpMap.put(proxyIp, proxyPort);
checkProxyIp(proxyIpMap, reqUrl);
}
public static void main(String[] args) {
Map<String, Integer> proxyIpMap = new HashMap<String, Integer>();
proxyIpMap.put( "114.80.136.112" , 7780);
proxyIpMap.put( "114.80.136.166" , 7780);
proxyIpMap.put( "114.80.136.167" , 7780);
proxyIpMap.put( "114.80.136.168" , 7780);
proxyIpMap.put( "114.80.136.169" , 7780);
proxyIpMap.put( "114.80.136.170" , 7780);
proxyIpMap.put( "114.80.136.171" , 7780);
proxyIpMap.put( "123.129.207.102" , 7780);
proxyIpMap.put( "123.129.207.100" , 7780);
proxyIpMap.put( "123.129.207.103" , 7780);
proxyIpMap.put( "123.129.207.104" , 7780);
proxyIpMap.put( "123.129.207.105" , 7780);
proxyIpMap.put( "123.129.207.108" , 7780);
proxyIpMap.put( "114.80.136.164" , 7780);
proxyIpMap.put( "123.129.207.107" , 7780);
proxyIpMap.put( "180.153.251.3" , 7780);
proxyIpMap.put( "180.153.251.4" , 7780);
proxyIpMap.put( "180.153.251.5" , 7780);
proxyIpMap.put( "180.153.251.6" , 7780);
proxyIpMap.put( "180.153.251.7" , 7780);
proxyIpMap.put( "180.153.251.8" , 7780);
proxyIpMap.put( "180.153.251.9" , 7780);
proxyIpMap.put( "180.153.251.10" , 7780);
proxyIpMap.put( "180.153.251.11" , 7780);
proxyIpMap.put( "180.153.251.12" , 7780);
proxyIpMap.put( "180.153.251.13" , 7780);
proxyIpMap.put( "180.153.251.14" , 7780);
proxyIpMap.put( "180.153.251.15" , 7780);
proxyIpMap.put( "180.153.251.16" , 7780);
proxyIpMap.put( "180.153.251.2" , 7780);
checkProxyIp(proxyIpMap, "http://t.sohu.com/new_index" );
}