急!!!请教高手,使用GZIPInputStream读取错误!

hongzhao129 2010-05-07 07:06:43
使用GZIPInputStream读取网页,不定时的报以下错误:
java.io.IOException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:137)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:58)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:68)

相关代码如下(使用httpclient下载的页面):
public String getContent(InputStream is, String charset,String url) throws IOException {

ByteArrayBuffer bab = null;
GZIPInputStream gzipInputStream = null;
BufferedInputStream bfin = null;
String content = "";
try {
bab = new ByteArrayBuffer(4096);
gzipInputStream = new GZIPInputStream(is);
int l;
byte[] tmp = new byte[4096];
while ((l = gzipInputStream.read(tmp)) != -1) {
bab.append(tmp, 0, l);
}
content=new String(bab.toByteArray(),charset);
} catch (IOException ioe) {
...

请教高手是否遇到过类似问题,有没有好的解决办法?
...全文
1352 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑色1988 2012-03-28
  • 打赏
  • 举报
回复
我还是不明白呀,自己知道解压??!!
hongzhao129 2010-05-13
  • 打赏
  • 举报
回复
我自己做了个异常分支,先用GZIPInputStream解压,异常则换用普通的InputStream,多谢各位建议,结贴了!
shine333 2010-05-10
  • 打赏
  • 举报
回复
“现代”一点的工具都已经解压了
shine333 2010-05-10
  • 打赏
  • 举报
回复
那就不用解压
hongzhao129 2010-05-10
  • 打赏
  • 举报
回复
刚才说错了,返回的Content-Encoding是gzip格式的
hongzhao129 2010-05-10
  • 打赏
  • 举报
回复
读网页HttpResponse返回的Accept-Encoding是gzip格式的,所以我也感觉很奇怪,这个错误不是时时发生的,而是有时发生,有时又没有,所以很郁闷,看看各位有没有什么解决的思路???
shine333 2010-05-09
  • 打赏
  • 举报
回复
但是人家说了,你那格不是gzip
hongzhao129 2010-05-09
  • 打赏
  • 举报
回复
用的httpclient,分析的网页本身就是gzip格式的。
shine333 2010-05-07
  • 打赏
  • 举报
回复
Not in GZIP format

你读网页的工具是什么阿。

你要分析的网页本身是gzip还是HTTP传输过程中使用了gzip?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧