Java 无法从HttpEntity获取InputStream

Java 无法从HttpEntity获取InputStream,java,android,httpentity,Java,Android,Httpentity,我有一个从web服务器收到的HttpEntity。如果我用getContentLength检查HttpEntity,它会显示一个大于0的值。所以似乎有满足感。我运行getContent获取InputStream,并在该InputStream上运行read获取内容。在第一次读取操作中,它抛出一个IO异常,表示流已关闭,并尝试在关闭的流上读取 我的代码是: HttpEntity myEntity = myResponse.getEntity(); InputStream inputStream =

我有一个从web服务器收到的HttpEntity。如果我用getContentLength检查HttpEntity,它会显示一个大于0的值。所以似乎有满足感。我运行getContent获取InputStream,并在该InputStream上运行read获取内容。在第一次读取操作中,它抛出一个IO异常,表示流已关闭,并尝试在关闭的流上读取

我的代码是:

HttpEntity myEntity = myResponse.getEntity();
InputStream inputStream = myEntity.getContent();
inputStream.read();
所以我不是在那条小溪上打电话。我无法排除HttpEntity有问题,查看调试器中的myEntity,我不知道这是否有帮助:

is1=EofSensorInputStream
eofWatcher=BasicManagedEntity
selfClosed=true
wrappedStream=null
InputStream上的getContentLength显示HttpEntity上的值

我不知道从哪里开始寻找问题的答案。我可以通过什么检查来发现问题?

请参考其中的说明,即可重复实体只能使用getContent和writeToOutputStream过程一次


要知道您的实体是否可重复,请使用isRepeatable。

您的服务器是否可能正在发送头而不是响应的主体?可能。但是我怎么才能知道呢?我没有访问服务器的权限。contentLength是否包含标头而getContent不包含?我认为contentLength指的是标头,但它可能没有收到整个正文。检查有点难。尝试通过TCP套接字发送相同的HTTP请求。它可能已被spring读取