在我的程序中,我正在调用EntityUtils.consume(httpResponse.getEntity())。这会在代码中抛出IOException,而对EntityUtils.toString(httpResponse.getEntity())的调用则完全正常。关于问题可能是什么的任何想法?或者任何修复IOException的建议?
if(status >= 200 && status < 300) {
HttpEntity httpEntity = httpResponse.getEntity();
if (httpEntity != null) {
if(httpEntity.getContentLength() > Constants.HTTP.MAX_APP_CONTENT_LENGTH) {
throw new IllegalArgumentException("HTTP entity too large.");
}
result = EntityUtils.toString(httpEntity,"UTF-8");
EntityUtils.consume(httpEntity);
}
}
答案 0 :(得分:1)
我不熟悉Apache HttpCore,但我知道在Servlet中你无法从HttpServletRequest中读取两次日期。它使用缓冲区,一旦缓冲区结束,如果你尝试读取它两次,就会得到一个IOException,因为缓冲区现在是空的。