2012-06-20 85 views
2

我想攔截WebViewClient中的所有HTTP請求併發出我自己的請求。我遇到的問題是處理gzip的迴應。例如,AndroidHttpClient.getUngzippedContent(entity)或GZIPInputStream(entity.getResponse()))但是當我爲這些返回WebResourceResponses時,頁面加載空白。我認爲這是因爲html被gzipped,然後處理不當,所以頁面的其餘部分甚至沒有得到要求。WebViewClient shouldInterceptRequest處理gzip壓縮的數據

有沒有人有100%的工作方法來截獲每個HTTP請求並返回WebResourceResponse?我目前能夠做到這一點,因爲任何不是gzip的,但對於gzip的響應,我返回null(這意味着請求不被攔截並因此得到兩次),以便頁面正確加載。

任何幫助或正確的方向一步將不勝感激。我想這可能不是那麼難,但我完全難住。

回答

0

嘗試在請求資源時避免接受標題。如果您在請求時不接受gzip數據,服務器將向您發送完整的數據。