我想截取WebViewClient中的所有HTTP请求,并发出自己的请求。我遇到的问题是如何处理gzipped格式的响应。
有几个不同的帖子建议可以工作的方法(例如AndroidHttpClient.getUngzippedContent(entity)或GZIPInputStream(entity.getResponse(),但是当我为这些方法返回WebResourceResponses时,页面加载为空白。我假设这是因为html是用gzipped压缩的,然后没有得到正确的处理,所以页面的其余部分甚至不会被请求。
有没有人有一个100%的工作方法,可以简单地拦截每个HTTP请求并返回一个WebResourceResponse?我目前可以对任何非gets格式的内容执行此操作,但对于gets格式的响应,我将返回null (这意味着请求不会被拦截,因此会被执行两次),这样页面才能正确加载。
任何帮助或朝着正确方向迈出的一步都将受到极大的感谢。我认为这可能不是那么困难,但我完全被难住了。
发布于 2015-05-08 21:55:21
尝试在请求资源时避免Accept标头。如果您在请求时不接受gzip数据,服务器将向您发送完整的数据。
https://stackoverflow.com/questions/11111168
复制相似问题