Proxy em java

0 respostas
sarkozy

ola pessoal,

preciso desenvolver um programinha que simule um proxy simples como trabalho de faculdade...

peguei um codigo simples na internet q deveria acessar o servidor da pagina web, pegar os htlmls e etc.. e passar para o navegador:

import java.net.*;
import java.io.*;
import java.util.*;
import org.apache.commons.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
    	ServerSocket s = new ServerSocket(123);

    	while (true) {
    		Socket ac = s.accept();
    		System.out.println("Recebendo requerimento browser com proxy...");
    		BufferedReader rrad = new BufferedReader(new InputStreamReader(ac.getInputStream()));
    		OutputStreamWriter rsnd = new OutputStreamWriter(ac.getOutputStream());
    		StringBuilder prxreq2 = new StringBuilder();
    		String temp;
    		String host = "";

    		while ( (temp = rrad.readLine()) != null)
                {
                   // if (! temp.equals(""))
                    //{
    			if (temp.indexOf("Accept-Encoding") == -1) prxreq2.append(temp); prxreq2.append("\r\n");
    			if (temp.indexOf("Host:") > -1) host = temp.split(": ")[1];
                    //}
    		}

                
               	prxreq2.append("\r\n");
    		String prxreq = new String(prxreq2);
    		System.out.println(prxreq);

    		System.out.println("Re-enviando para o servidor...");
    		Socket cl = new Socket(host,80);

    		OutputStreamWriter d = new OutputStreamWriter(cl.getOutputStream());
    		d.write(prxreq);
    		d.flush();

    		System.out.println("Esperando resposta do servidor...");
    		String resp = IOUtils.toString(cl.getInputStream());
    		System.out.println(resp);

    		d.close();
    		cl.close();

    		System.out.println("Enviando resposta do servidor para o browser...");
    		
    		rsnd.write(resp);
    		rsnd.flush();

    		rsnd.close();
    		ac.close();
    	}
    }
}

mas nao estou conseguindo fazer funcionar...

eu usei o firefox pra testar, fui em ferramentas/opções/configurar conexao/configuração manual de proxy/sockys = 127.0.0.1, porta = 123 e sokcs v5.

no que eu estou errando?

alguem pode me ajudar a fazer este proxy?

flw

Criado 3 de outubro de 2010
Respostas 0
Participantes 1