在使用HttpClient的过程中,可能请求的数据为空或者参数不对,服务器返回的内容导致Content-Length=0
此时,如果程序中直接拿到结果以正常处理,一般在转换为Json字符串处理,代码容易出错
如果在此加入如下,拿到Content-Length的长度,为0则不处理,有长度则继续执行
错误写法
HttpResponse httpResponse = httpClient.execute(request);
HttpEntity entity = response.getEntity();
String resultStr = EntityUtils.toString(new GzipDecompressingEntity(entity));
修改后
HttpResponse httpResponse = httpClient.execute(request);
Header header = httpResponse.getFirstHeader("Content-Length");
int fileLength = Integer.valueOf(header.getValue());
if(fileLength<1){
//TODO 你的错误处理
return;
}
HttpEntity entity = httpResponse .getEntity();
String resultStr = EntityUtils.toString(new GzipDecompressingEntity(entity));
这样可以避免代码的错误处理,增强代码的容错性