# GZIP InputStream lesen ohne zu encoden



## daniel0916 (8. Nov 2014)

Hallo Leute,

ich versuche momentan einen kleinen Proxy zu programmieren, aber komischerweise funktioniert er bei GZIP encoded Seiten nicht. 
Als letztes habe ich noch versucht es mit UTF-8 zu encoden, aber das nützt auch nichts.
Hier der Code:

```
BufferedReader br = new BufferedReader(new InputStreamReader(serversocket.getInputStream(), "UTF-8"));
            
            System.out.println("Response");
            
            StringBuilder response = new StringBuilder();
            String line;
            int currentSize = 0;
            int maxSize = 0;
            while ((line = br.readLine()) != null) {
                if (line.contains("Content-Length")) {
                    String[] length = line.split(" ");
                    maxSize = Integer.parseInt(length[1]);
                }
                currentSize+= line.getBytes().length;
                if (maxSize > 0 && currentSize >= maxSize) break;
                System.out.println(line);
                response.append(line + "\n");
            }
            
            clientsocket.getOutputStream().write(response.toString().getBytes("UTF-8"));
            clientsocket.getOutputStream().flush();
            clientsocket.close();
            serversocket.close();
```

Hat jemand eine Idee, warum es bei encoded seiten nicht geht? Ich müsste es irgendwie anders lesen. Ich kann es auch nicht komplett decoden, da ein Error kommt, weil beim InputStream nicht definiert ist, dass es gzipt ist. 

LG
Daniel


----------



## daniel0916 (9. Nov 2014)

Ich habe es nun gelöst. Leider ist dieser Code sehr langsam. Wie kann ich ihn optimieren?

```
int size = 1024;
            byte[] buf = new byte[size];
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            BufferedInputStream is = new BufferedInputStream(serversocket.getInputStream());
            int len;
            while ((len = is.read(buf, 0, size)) != -1) {
                bos.write(buf, 0, len);
            }
```


----------

