package tk.yourchanges.clicker.proxy; import java.io.File; import java.io.FileInputStream; import java.util.Properties; import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.eclipse.jetty.util.ConcurrentHashSet; import tk.yourchanges.clicker.clicker.Utils; public class Main { /** * @param args */ public static void main(String[] args) throws Exception { java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel( java.util.logging.Level.OFF); System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog"); Properties p = new Properties(); File confFile = null; if (args.length >= 1) { confFile = new File(args[0]); } else { String file = new Main().getClass().getClassLoader() .getResource("proxy.ini").getFile(); confFile = new File(file); } p.load(new FileInputStream(confFile)); System.out.println("开始抓取代理服务器,列表如下:"); System.out.println(""); final Set<Proxy> proxies = new CNProxyGetter(p).find(); final Set<Proxy> proxies2 = new CN88ProxyGetter(p).find(); proxies.addAll(proxies2); // String url = "http://yourchanges.tk/blog"; ExecutorService eS = Executors.newFixedThreadPool(Integer.valueOf(p .getProperty("threadPoolSize", "100"))); ConcurrentHashSet<String> proxyServers = new ConcurrentHashSet<String>(); for (final Proxy proxy : proxies) { eS.execute(new Runner(proxy, p.getProperty("validateURLs", "http://www.baidu.com"), proxyServers)); Utils.sleep(10); } System.exit(0); } }