Я попытался найти похожую проблему, но не смог найти решение, похожее на мою:
Я использую следующий фрагмент кода для чтения из HttpUrlConnection:
public static BufferedReader getConnectionReader(HttpURLConnection con, String url)
throws Exception {
con = (HttpURLConnection) new URL(url).openConnection();
con.connect();
if (cm != null) {
cm.storeCookies(con);
}
if (con.getHeaderField("Content-Encoding") != null
&& con.getHeaderField("Content-Encoding").equalsIgnoreCase("gzip")) {
return new BufferedReader(new InputStreamReader(new GZIPInputStream(con.getInputStream())));
} else
return new BufferedReader(new InputStreamReader(con.getInputStream()));
}
Чтениевыполняется следующим образом:
HttpURLConnection con = null;
reader = Utils.getConnectionReader(con, "http://www.site.com/page.html");
String line = null;
while ((line = reader.readLine()) != null) {
log.info(line);
}
Иногда я получаю упомянутое исключение:
java.io.EOFException: неожиданный конец входного потока ZLIB
Когда я могу, я ловлю это исключение и повторяю операцию - успешно.
Проблема в том, что я не знаю, что вызывает это исключение, чтобы выскочить.Это происходит совершенно случайно.
Я хочу верить, что это проблема с сетью.
Кто-нибудь нашел способ полностью решить такую проблему?
Спасибо !!