• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

android接口中json数据的传输中使用gzip压缩

php 搞代码 4年前 (2022-01-23) 23次浏览 已收录 0个评论
当前android访问接口传输数据多使用json格式(简单易解析跨平台),为了节省带宽和传输时间服务器往往会在传输前进行gzip压缩,下面是几个需要注意的地方。

1. 针对php服务器,在访问接口的时候必须在header里带上参数Accept-Encoding: gzip, deflate,不然即使后台做了gzip压缩,也不会进行真正的压缩。

2.如果服务端对数据进行了gzip压缩,那么在ap取得数据前需要对数据先进行gzip解压即:

public String getResponseBodyAsString(HttpResponse response) throws IOException {        GZIPInputStream gzin;        if (response.getEntity() != null) {            Header header = response.getFirstHeader("Content-Encoding");            if (header != null && header.getValue().toLowerCase().indexOf("gzip") != -1) {                gzin = new GZIPInputStream(response.getEntity().getContent());                InputStreamReader isr = new InputStreamReader(gzin, "UTF-8");                BufferedReader br = new BufferedReader(isr);                StringBuilder sb = new StringBuilder();                String tmp;                while ((tmp = br.readLine()) != null) {                    sb.append(tmp);                    sb.append("\r\n");                }                br.close();                isr.close();                return sb.toString();            } else {                // 否则正常返回                return EntityUtils.toString(response.getEntity(), HTTP.UTF_8);            }        } else {            return null;        6来源gaodaimacom搞#^代%!码网搞gaodaima代码}    }


以上就介绍了android接口中json数据的传输中使用gzip压缩,包括了Exception方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:android接口中json数据的传输中使用gzip压缩
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址