Lesen eines GZipInputStreams

S

samarek

Fortgeschrittenes Mitglied
2
Hi,

ich hab folgendes Problem und zwar versuche ich von einer URL eine GZip Datei als InputStream zu laden.
Die GZip Datei wurde mit php erstellt, sollte also ein Standardformat sein, bin mir aber nicht 100% sicher dass das ein brauchbares Format.

Hier mal die Methode
Code:
public static InputStream getJsonStream(String url, boolean gzip)
    {
        try 
        {
            HttpGet httpGet = new HttpGet(url);
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpGet);
            
            if (gzip)
            {
                response.addHeader("Accept-Encoding", "gzip");
                content = new GZIPInputStream(response.getEntity().getContent());
                Log.v("### GZIP-Stream ###", url);
            }
            else 
            {
                content = response.getEntity().getContent();
            }
        }
        catch (Exception exc) 
        {
            Log.v("### Exception ###", "Fehler beim Lesen der List JSON", exc);
        }
        return content;
    }
Der else-Zweig (also ungeGZipped) funktioniert ohne Probleme, aber auf dem anderen Zweig bekomme ich diesen Fehler
Code:
### Exception ###(13186): Fehler beim Lesen der List JSON
### Exception ###(13186): java.io.IOException: unknown format (magic number a5b)
### Exception ###(13186):     at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:84)
### Exception ###(13186):     at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:64)
### Exception ###(13186):     at kommunikation.Server.getJsonStream(Server.java:66)
### Exception ###(13186):     at kommunikation.Json.jsonLaden(Json.java:289)
### Exception ###(13186):     at kommunikation.Json.access$1(Json.java:265)
### Exception ###(13186):     at kommunikation.Json$AvailabilityTask.doInBackground(Json.java:208)
### Exception ###(13186):     at kommunikation.Json$AvailabilityTask.doInBackground(Json.java:1)
### Exception ###(13186):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
### Exception ###(13186):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
### Exception ###(13186):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
### Exception ###(13186):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
### Exception ###(13186):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
### Exception ###(13186):     at java.lang.Thread.run(Thread.java:1019)
versteht das jemand? hat da jemand Erfahrung mit?
 
Vielleicht hab ich ja keine Ahnung, aber du fügst der Antwort hinzu, dass du gzip haben willst. Das sieht komisch aus. Solltest du das nicht in dem Request sagen?

Achja, evtl hilft es weiter, wenn du dir einen Hexdump von deinem Content baust (die ersten 128byte oder so sollten ja reichen).
 
  • Danke
Reaktionen: samarek
ja stimmt, genau das war's danke
 

Ähnliche Themen

netfreak
  • netfreak
Antworten
10
Aufrufe
456
netfreak
netfreak
F
Antworten
0
Aufrufe
833
FlorianAlfredo
F
D
  • Data2006
Antworten
14
Aufrufe
486
jogimuc
J
Zurück
Oben Unten