首页 新闻 会员 周边

Java HTTP Client 抓取网页,这个网页无论用什么编码都是乱码?

0
悬赏园豆:5 [已解决问题] 解决于 2015-01-28 16:01

代码 大概是这样 ,采集其他网页没有问题 

 

................

             client.executeMethod(get);
            //
            String statusText = get.getStatusText();
            //System.out.println("Test.main():--->" + statusText);
            System.out.println("Test.main():--->" + new String(get.getResponseBodyAsString().getBytes("GB2312"), "UTF-8"));
            InputStream in = get.getResponseBodyAsStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(in, charset));
            String tempbf;
            html = new StringBuffer(100);
           ........................
Inszt的主页 Inszt | 初学一级 | 园豆:151
提问于:2015-01-28 10:44
< >
分享
最佳答案
0

java是有福音的, 我记得httpclient开源包中有个EntityUtils, 可以解决你这个问题。 

收获园豆:3
问天何必 | 老鸟四级 |园豆:3311 | 2015-01-28 11:30

GZIP压缩的

看你豆最少就采纳你把

Inszt | 园豆:151 (初学一级) | 2015-01-28 16:01

@assasszt: 好吧, 我之前也碰到过, 不过我是c#做的, 也是碰到gzip压缩过的, 也是郁闷了我一阵

问天何必 | 园豆:3311 (老鸟四级) | 2015-01-28 16:13
其他回答(2)
0

你用Fiddle监视下,看看是不是数据本身就是乱码过来的。

收获园豆:1
幻天芒 | 园豆:37175 (高人七级) | 2015-01-28 10:50

谢谢,其实是网页使用的GZIP压缩,使用GZIPInputSteam接收就可以了

支持(0) 反对(0) Inszt | 园豆:151 (初学一级) | 2015-01-28 15:59

@assasszt: 确实,以前貌似有人也遇到过。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-01-28 16:31
0

推荐看一下这个系列博文:

Java中文乱码解决之道

收获园豆:1
dudu | 园豆:30994 (高人七级) | 2015-01-28 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册