2016-12-15 511 views
2

我使用Retrofit來管理我的請求,並且想要使用或不使用gzip來檢查請求大小。OkHttp在請求中啓用/禁用gzip壓縮

默認情況下,OkHttp是否對請求執行gzip壓縮,或者它必須使用interceptor實施?

我添加

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

或:

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

我的請求,並沒有看到關於請求長度的任何變化。

回答

1

OkHttp會做響應主體透明的gzip,除非你與此頭禁用該功能:

Accept-Encoding: identity 
+1

...而且也沒有壓縮請求主體。爲此,你需要這個:https://github.com/square/okhttp/blob/master/samples/guide/src/main/java/okhttp3/recipes/RequestBodyCompression.java –

+0

謝謝,但我想gzip請求正文和查看啓用或禁用gzip的大小差異。服務器沒有迴應gzip – Favolas

+0

謝謝。爲了您的評論。我在OP上發佈的鏈接也是一樣的。非常感謝 – Favolas