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!!