急!!!请教高手,使用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) {
...

请教高手是否遇到过类似问题,有没有好的解决办法?
...全文
1017 点赞 收藏 9
写回复
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?
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告