Не удается получить InputStream из HttpEntity
У меня есть HttpEntity, который я получил от веб-сервера. Если я проверяю, что HttpEntity с getContentLength(), он показывает значение> 0. Так что, кажется, есть контент. Я запускаю getContent (), чтобы получить InputStream, и на этом InputStream я запускаю read (), чтобы получить содержимое. При первой операции read () выдается исключение ввода-вывода, что поток закрывается "Попытка чтения в закрытом потоке".
Мой код:
HttpEntity myEntity = myResponse.getEntity();
InputStream inputStream = myEntity.getContent();
inputStream.read();
Поэтому я не вызываю close () в этом потоке. Я не могу исключить, что что-то не так с HttpEntity, глядя на myEntity в отладчике, который я вижу (не знаю, поможет ли это):
is1=EofSensorInputStream
eofWatcher=BasicManagedEntity
selfClosed=true
wrappedStream=null
getContentLength() для InputStream показывает значение как для HttpEntity.
Я понятия не имею, с чего начать, чтобы выяснить проблему. Что я могу проверить, чтобы найти проблему?
1 ответ
Пожалуйста, обратитесь к этой ссылке, которая говорит, что REPEATABLE объекты могут использовать getContent()
а также writeTo(OutputStream)
процедуры только один раз.
Чтобы узнать, является ли ваша сущность ПОВТОРНОЙ, используйте isRepeatable()
,