我想知道如何确定一个空的 http 响应。我的意思是,对于空的 http 响应,http 响应只会设置一些标头,但包含一个空的 http 正文。
例如:我向网络服务器执行 HTTP POST,但网络服务器只会返回我的 HTTP POST 的状态代码,而不会返回其他任何内容。
问题是,我在 apache HttpClient 之上编写了一个小 http 框架来进行自动 json 解析等。所以这个框架的默认用例是发出请求并解析响应。但是,如果响应不包含数据,如上面示例中提到的,我将确保我的框架跳过 json 解析。
所以我做这样的事情:
HttpResponse response = httpClient.execute(uriRequest);
HttpEntity entity = response.getEntity();
if (entity != null){
InputStream in = entity.getContent();
// json parsing
}
但是实体总是!= null。而且检索到的输入流是!= null。有没有一种简单的方法来确定 http 正文是否为空?
我看到的唯一方法是服务器响应包含设置为 0 的 Content-Length 标头字段。但并非每个服务器都设置此字段。
有什么建议么?