hikui 2010-10-25 14:12
浏览 259
已采纳

httpclient4.x编码问题

我在使用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本身的识别编码是采用了怎么样的机制呢?

  • 写回答

2条回答 默认 最新

  • enet_java 2010-10-25 14:23
    关注

    [quote]原理是这样的,在请求的返回header中获取编码,
    如果没有找到返回的编码,而程序也没有指定默认的编码,自然就得到null了。

    最好这个地方设置一个默认的编码。[/quote]

    可以参考文章:http://dh189.iteye.com/blog/732111

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题