Android HttpURLConnection Accept-Encoding: gzip 版本问题
来源:互联网 发布:tripmode for mac 编辑:程序博客网 时间:2024/06/11 22:45
Android 官方文档对 HttpURLConnection 的 Performance 的描述有一段:
By default, this implementation of HttpURLConnection requests that servers use gzip compression
参见: http://developer.android.com/reference/java/net/HttpURLConnection.html
就是说 使用HttpURLConnection发请求时,默认的request hearder里会加上 Accept-Encoding: gzip
这是坑!!!
因为Android的这个Feature是在Gingerbread(android 2.3.3) 版本以后才加上的, 而这一点并未在其官方API中注明。
所以同样的应用,在低版本的android上,发出的是非gzip的请求,而在高版本的android上发出的是gzip的请求,这样在server端处理时,就要特别小心兼容两类情况。
(我们因此出了一个大bug。)
下面是另外一篇文章中提到的:
In Gingerbread, we added transparent response compression. HttpURLConnection will automatically add this header to outgoing requests, and handle the corresponding response:Accept-Encoding: gzip
参见: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
如果不想处理这些问题,也可以弃用 HttpURLConnection 而改用 Apache Http Client, 它发送的都是非gzip类型的请求,与android版本无关。
0 0
- Android HttpURLConnection Accept-Encoding: gzip 版本问题
- “Accept-Encoding: gzip, deflate”问题
- Accept-Encoding: gzip,deflate
- Accept-Encoding: gzip,deflate
- Accept-Encoding: gzip,deflate
- Accept-Encoding: gzip, deflate
- Accept-Encoding: gzip,deflate + libcurl + rt5350
- Accept-Encoding: gzip,deflate 以压缩格式接收请求数据
- http accept-encoding详解 HTTP协议-压缩(gzip,deflate)
- httpclient访问网站时设置Accept-Encoding为gzip,deflate返回的结果为乱码的问题
- Accept-Encoding
- Accept-Encoding
- Accept-Encoding
- Accept-Encoding 引起乱码的问题
- 设置Accept-Encoding为gzip,deflate,返回的网页是乱码
- HTTP的Accept-Encoding
- Accept-Encoding学习
- C# 利用HttpWebRequest模拟登陆获取数据设置Accept-Encoding为gzip,deflate后返回的网页是乱码处理
- LeetCode Copy List with Random Pointer
- Google API
- 自适应波束形成(三)——频域宽带LCMV波束形成器
- oracle 递归查询-个人总结
- 获取文件和文件夹的方法
- Android HttpURLConnection Accept-Encoding: gzip 版本问题
- AS小应用
- C# Assembly.GetManifestResourceStream总返回 null问题
- StretchBlt函数和BitBlt函数的用法
- MongoDB整合Spring 详细讲解(含代码)
- 一个好的用户体验度核心在哪里
- 手机游戏开发现状分析
- 白话机器学习算法(六) PCA
- 要点Java16 抽象类