正在经历Apache对HttpClient(http://hc.apache.org/httpclient-3.x/performance.html)的建议 提到
响应流:建议使用以下命令将HTTP响应正文作为字节/字符流使用: HttpMethod#getResponseBodyAsStream方法。指某东西的用途 HttpMethod#getResponseBody和HttpMethod#getResponseBodyAsString是 强烈劝阻。
但找不到相同的原因。我目前正在将getResponseBodyAsString与GetMethod一起使用,想知道我做错了方法吗?
答案 0 :(得分:4)
从文档中:“ HttpClient能够进行有效的请求/响应正文流传输。大型实体可以在不缓存在内存中的情况下提交或接收。”
getResponseBodyAsString
方法要求HttpClient将整个响应缓冲在内存中。基本上,您已经给HTTP服务器提供了通过发送巨大响应来使进程崩溃的机会。
但是你必须做你必须做的事。如果您的应用程序要求您将响应作为内存中的String
处理,并且您确定响应不会太大(或者您愿意添加大小检查),那么就去做吧