All pastes #370292 Raw Edit

Someone

public java v1 · immutable
#370292 ·published 2007-02-24 13:03 UTC
rendered paste body
import java.io.*;import java.net.*;import java.util.LinkedList;public class ProxyTester {    public static void main(String[] args) throws IOException {    	try {    		outputList(tryProxies(getList(args[0])), args[1]);    	} catch(IOException e) {    		System.out.print("IOException: "+e.toString());    	}    }         private static LinkedList<String> getList(String inputFilename) throws IOException {    	LinkedList<String> list = new LinkedList<String>();    	    	BufferedReader in = new BufferedReader(new FileReader(inputFilename));    	String inputProxies;    	while ((inputProxies = in.readLine()) != null) {    		list.add(inputProxies);    	}    	in.close();    	return list;    }        private static LinkedList<String> tryProxies(LinkedList<String> inputProxies) throws IOException {    	LinkedList<String> workingProxies = new LinkedList<String>();    	    	for(String currentProxy : inputProxies) {    		String tmp[] = currentProxy.split(":");    		if(connect(tmp[0], Integer.parseInt(tmp[1]))) {    			workingProxies.add(currentProxy);    		}    	}    	    	return workingProxies;    }        private static void outputList(LinkedList<String> workingProxies, String outputFilename) throws IOException {    	BufferedWriter out = new BufferedWriter(new FileWriter(outputFilename));    	    	for(String currentProxy : workingProxies) {    		out.write(currentProxy+"\n");    	}    	out.close();    }        private static boolean connect(String proxy, int port) throws IOException {    	Socket proxySocket = new Socket(proxy, port);        PrintWriter out = new PrintWriter(proxySocket.getOutputStream(), true);        BufferedReader in = new BufferedReader(new InputStreamReader(                                    proxySocket.getInputStream()));                out.println("GET http://u1.swirve.com/ HTTP/1.1 \n");                String currentLine;        while((currentLine = in.readLine()) != null) {        	if(currentLine.equals("HTTP/1.1 OK") || currentLine.equals("HTTP/1.0 OK")) {        		out.close();                in.close();                proxySocket.close();        		        		return true;        	}        }                out.close();        in.close();        proxySocket.close();    	    	return false;    }}