【问题标题】:WebViewClient shouldInterceptRequest handling gzipped dataWebViewClient shouldInterceptRequest 处理压缩数据
【发布时间】:2012-06-20 00:06:21
【问题描述】:

我想拦截 WebViewClient 中的所有 HTTP 请求并发出我自己的请求。我遇到的问题是处理压缩响应。

有几个不同的帖子建议可以使用的方法(例如 AndroidHttpClient.getUngzippedContent(entity) 或 GZIPInputStream(entity.getResponse())),但是当我为这些返回 WebResourceResponses 时,页面加载为空白。我认为这是因为 html 是 gzip 压缩的,然后没有正确处理,所以页面的其余部分甚至没有被请求。

有没有人有一个 100% 的工作方法来简单地拦截每个 HTTP 请求并返回一个 WebResourceResponse?我目前能够对未压缩的任何内容执行此操作,但对于压缩响应,我返回 null(这意味着请求未被拦截,因此被执行两次),以便页面正确加载。

我们将不胜感激任何帮助或朝着正确方向迈出的一步。我认为这可能并不难,但我完全被难住了。

【问题讨论】:

    标签: android gzip webviewclient


    【解决方案1】:

    在请求资源时尽量避免接受标头。如果您在请求时不接受 gzip 数据,服务器将向您发送完整的数据。

    【讨论】:

      猜你喜欢
      • 2022-11-03
      • 2016-12-22
      • 2011-06-02
      • 2018-09-30
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      相关资源
      最近更新 更多