这两天,同事写一个带中文的请求怎么也拿不到数据,中间我也看了下不过觉得,这种请求再普通不过了,应该没事,一天还没解决我帮他调试了下,也不行,拿到的inputstream直接是空的,这就是请求问题,想了下应该是请求中有中文乱码,后来查了http的头才发现问题,服务器拿不到中文字符,发送的请求错误的问题,下面把代码贴出来,以免大家在这浪费时间。
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
if(httpResponse.getStatusLine().getStatusCode() == 200) {
String result = EntityUtils.toString(httpResponse.getEntity());
}
请求失败的代码是这样的
只需要设置httpget的一个属性
httpGet.setHeader("Content-Type",
"application/x-www-form-urlencoded; charset=utf-8");