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