【发布时间】:2011-07-22 01:34:03
【问题描述】:
我试图四处寻找类似的问题,但找不到任何与我的问题相似的解决方案:
我使用以下代码从 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 输入流意外结束
如果可以,我会捕获此异常并重试该操作 - 成功。
问题是我不知道是什么导致这个异常弹出。 它的发生非常随机。
我想相信这是网络问题。
有人找到完全解决此类问题的方法吗?
谢谢!!
【问题讨论】: