清空Http但没有错误

时间:2012-07-26 03:16:59

标签: java android

我正在尝试使用我的应用程序调用web服务,但我没有收到任何错误,URL是好的,并返回一些内容(通过浏览器),但我没有内容。

try {
    HttpClient httpclient = new DefaultHttpClient();
    HttpGet httpget = new HttpGet(url);
    HttpResponse response = httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();
    int lenght = (int) entity.getContentLength();
    is = entity.getContent();
} catch (Exception e) {
    Log.e("log_tag", "Error in http connection" + e.toString());
}
由于收到的空响应,

lenght等于-1

来自网址的响应是否需要为HTML?或者我输出的任何内容都可以通过HttpClient获取?

2 个答案:

答案 0 :(得分:1)

响应不需要是HTML,但如果服务器端没有在响应中返回内容长度标头,则长度将为负。

答案 1 :(得分:1)

响应不一定需要是HTML格式。

getContentLength()返回的负值表示服务器不返回内容长度。这并不意味着没有内容。可以让请求返回内容,但仍然有getContentLength()返回的负值。

您仍然可以获取请求返回的内容:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
entity.writeTo(baos);
String contentString = baos.toString();