HttpURLConnection 因Android版本不同而导致的Bad Request问题,在2.0+不行,4.0+可以

来源:互联网 发布:php做后端 编辑:程序博客网 时间:2024/05/18 00:53

之前在这个问题上纠结了很久,也换httpClient试过,但是最后居然被细节打败了:

原文出处:http://stackoverflow.com/questions/15030201/issues-with-httpurlconnection-with-post-on-android-2-2?rq=1


其实原因很简单,在给HttpURLConnection 设置request属性的时候,Android4.0+自动对属性的内容中的空格进行了转义替换‘\s’。

但是,Android2.0+ 没有做这个处理,所以有些网络访问一直Bad!


关键例子代码:

connection.setRequestProperty("Content-Type", ("application/xml; charset=utf-8").replaceAll("\\s", ""));