Foro de elhacker.net

Programación => Java => Mensaje iniciado por: SUNAMI_EOL en 5 Febrero 2009, 15:18 pm



Título: Problemas con el "Content-Encoding: gzip"
Publicado por: SUNAMI_EOL en 5 Febrero 2009, 15:18 pm

Bueno, como veo que no obtengo muy buenos resultados con google me he decidido a postear aqui, que seguro que alguien me ilumina.

Entrada:
        ...
        salida.println("Accept-Encoding: gzip,deflate");
        ...
       
        ...
        Socket s = new Socket(ip, 80);
        PrintWriter salida = new PrintWriter(s.getOutputStream());               
        realizarPeticion(getRuta(url), getHost(url),"referer", salida);
        System.out.println(cabeceras(s));
        BufferedReader entrada = new BufferedReader(new InputStreamReader(new GZIPInputStream(s.getInputStream())));
        ...

        public String cabeceras(Socket s) throws IOException{           
            int finCab = 3;
            int[] cab = new int[2048];
            cab[0] = s.getInputStream().read();
            cab[1] = s.getInputStream().read();
            cab[2] = s.getInputStream().read();       
            cab[3] = s.getInputStream().read();
            while(!(cab[finCab-3] == 13 && cab[finCab-2] == 10 && cab[finCab-1] == 13 && cab[finCab] == 10)){
                finCab++;
                cab[finCab] = s.getInputStream().read();
            }           
            return (new String(cab, 0, finCab)); 
        }

Salida:
        ...
        cabeceras
        ...
        java.io.IOException: Not in GZIP format

Alguien me puede decir el formato de compresion que se esta utilizando y que clase tengo que utilizar para obtener el inpustream que contiene los caracteres de la pagina.

Salu2!!