2016-12-15 4 views
2

Ich verwende Retrofit, um meine Anfragen zu verwalten und einige Tests zu machen, um die Größe der Anfrage mit oder ohne gzip zu überprüfen.OKHttp aktivieren/deaktivieren Gzip-Komprimierung für Anfragen

Standardmäßig führt OkHttp Gzip-Komprimierung auf Anfragen oder muss es mit einem interceptor implementiert werden?

Ich habe hinzugefügt

@Headers({ 
     "Accept-Encoding: gzip, deflate", 
     "Content-Encoding: gzip" 
}) 

oder:

@Headers({ 
     "Content-Type: application/json;charset=utf-8", 
     "Accept: application/json" 
}) 

auf meine Anfragen und sah keine Änderung auf der Anforderungslänge.

Antwort

1

OkHttp auf Antwort Körper transparent gzip tun, wenn Sie die Funktion mit diesem Header deaktivieren:

Accept-Encoding: identity 
+1

... und es gibt keine Komprimierung für Anfrage Körper. Dafür brauchst du das: https://github.com/square/okhttp/blob/master/samples/guide/src/main/java/okhttp3/recipes/RequestBodyCompression.java –

+0

Danke aber ich möchte den Anfragetext gzip und Siehe Unterschiede in der Größe, wenn gzip aktiviert oder deaktiviert ist. Der Server antwortet nicht mit gzip – Favolas

+0

Danke. Für deinen Kommentar. Es ist das gleiche hat den Link, den ich auf dem OP gepostet habe. Danke vielmals – Favolas