我想拦截 WebViewClient 中的所有 HTTP 请求并发出我自己的请求。我遇到的问题是处理压缩响应。
有几个不同的帖子建议可以使用的方法(例如 AndroidHttpClient.getUngzippedContent(entity) 或 GZIPInputStream(entity.getResponse())),但是当我为这些返回 WebResourceResponses 时,页面加载为空白。我认为这是因为 html 是 gzip 压缩的,然后没有正确处理,所以页面的其余部分甚至没有被请求。
有没有人有一个 100% 的工作方法来简单地拦截每个 HTTP 请求并返回一个 WebResourceResponse?我目前能够对未压缩的任何内容执行此操作,但对于压缩响应我返回 null (这意味着请求没有被拦截,因此会被执行两次),以便页面正确加载。
任何帮助或朝着正确方向迈出的一步将不胜感激。我认为这可能并不难,但我完全被难住了。