Apache HttpClient で Content-Body を String として得る
public String getContentBody(CloseableHttpResponse res) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
res.getEntity().writeTo(stream);
byte[] bytes = stream.toByteArray();
ContentType contentType = ContentType.getOrDefault(res.getEntity());
new String(bytes, contentType.getCharset());
}
としてもいいけど、
EntityUtils.toString(res.getEntity());
とすればいい。
ただこの方法でやる場合、Entity 一回読むと二回は読めないのが不便ではある。 使い勝手のいいゆるふわライブラリを作りたい場合は、Entity 読みだした後でどっかに保存しておいたほうがいいのかも。