11

我已经设法对所有内容进行了更改,但以下内容除外:

HttpClient client;
HttpPost method;   
client = new DefaultHttpClient();
method = new HttpPost(url); 

InputStream rstream;
try {
    rstream = method.getResponseBodyAsStream();
} catch (IOException e) {
    return BadSpot(e.getMessage()); 
}

我不确定应该用什么替换 getResponseBodyAsStream() 。

4

4 回答 4

5
InputStream rstream;
try {
    HttpResponse response = client.execute(HttpHost, method);
    rstream = response.getEntity().getContent();
} catch (IOException e) {
    return BadSpot(e.getMessage()); 
}

上面应该做你所要求的。

于 2011-01-04T23:01:23.150 回答
2

HttpResponse.getEntity(),然后是HttpEntity.getContent()

于 2011-01-04T22:39:57.450 回答
2

util 类有一些有用的方法:

EntityUtils.toString(response.getEntity());

apache网站上的示例中也有一些有用的东西

于 2013-04-03T14:48:17.367 回答
0

在使用实体之前使用EntityUtils并检查返回not null的实体:

InputStream rstream;
try {
    HttpResponse response = client.execute(HttpHost, method);

    rstream = Optional.ofNullable(httpResponse.getEntity())
    .map(e -> response.getContent()).orElse(null);

} catch (IOException e) {
    return BadSpot(e.getMessage()); 
}

注意:此处的 InputStream 可以为空,并且最重要的是,您必须确保在实际关闭响应/释放连接之前消耗它。

于 2017-05-23T14:10:37.787 回答