我在使用httpclient4.x的时候发现如下代码能够有一定几率识别网页的编码。
[code="java"]DefaultHttpClient hc = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://www.baidu.com/");
HttpResponse response = hc.execute(httpget);
HttpEntity entity = response.getEntity();
entity = new BufferedHttpEntity(entity);
String htmltext = EntityUtils.toString(entity);[/code]
只要用[code="java"]String encode = EntityUtils.getContentCharSet(entity);[/code]
就能验证网站编码有没有被识别。
但是有一些网站却无法自动识别编码,比如www.hudong.com,它的getContentCharSet(entity)返回值是null。这是为什么呢?
httpclient本身的识别编码是采用了怎么样的机制呢?