我正在使用Apache httpcomponents Java library获取网页。连接结果后,我得到的是HttpEntity
,其方法getContent()
返回InputStream
,并且还有一个写入OutputStream的方法writeTo()
。
我想将结果转换为String以提取信息。什么是最优雅(和安全)的方式?
一些可能的解决方案:
ByteArrayOutputStream
,然后将这些字节转换为带有String构造函数的String 这些都感觉有点难看。你会建议选择其中一种吗?
答案 0 :(得分:6)
System.out.println(EntityUtils.toString(httpResponse.getEntity()));
答案 1 :(得分:4)
怎么样(伪):
BasicResponseHandler handler = new org.apache.http.impl.client.BasicResponseHandler ();
String str = httpClient.execute(request, handler);
在这种情况下,您必须自己处理异常。
答案 2 :(得分:0)
这可能很难看,但我认为这是唯一的方法。您可以使用Commons-IO中的IOUtils.toString(),而无需编写自己的代码。