从HttpClient 3转换为4

时间:2011-01-04 22:00:46

标签: java apache-commons-httpclient

我设法对以下所有内容进行了更改:

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 个答案:

答案 0 :(得分:4)

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

应该按照你的要求做。

答案 1 :(得分:2)

答案 2 :(得分:2)

util类有一些有用的方法:

EntityUtils.toString(response.getEntity());

apache's website

的示例中还有一些有用的内容

答案 3 :(得分:0)

使用assemblyMergeStrategy in assembly := { case PathList("META-INF", xs @ _*) => MergeStrategy.discard case _ => MergeStrategy.first } 并在使用实体之前检查返回的实体为EntityUtils

not null

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