在android 4.0 http请求时,发现的一个问题

在最近中项目中,负责了一个图片下载的功能。开发后,在测试时发现在2.x或3.x系统中能正常下载图片。但在4.x的系统上,一直报找不到下载地址的异常。这个问题很是奇怪,代码上没有任何错误的地址。

后来通过截取http头信息发现,4.0上总是以post的方式去请求一个图片下载地址。但我明明setMethod给参数是get。经过用排除法,才发现是setDoOutput(true) 这个方法导致一直是post的请求。可能大家编码习惯都在初始化connection时把这个属性设置成true。但在android4.x系统中,底层的网络代码,只通过setDoOutput是false还是ture,去判断是get还是post请求。所以以后大家在初始化conection时,setDoOutput当需要post才设置成true。否则,也会出现我遇到的这个问题,出现找不到地址的异常。

相关推荐