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”); }