HttpClient对网页编码的精确识别

本文介绍了一种改进HTTP客户端中文网页编码识别的方法,通过扩展HttpGetMethod并利用chardet.jar库来自动探测未知编码,解决了HTTP响应头部缺失导致的编码识别问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用Httpclient对网页进行采集,因为采集的网页编码不确定,主要是中文的网址,而httpclient对编码的识别也是靠response的head来识别的,但是有的服务器根本不返回这个头,httpclient默认就采用了ISO-8859-1的编码。上网搜索了下,有人写出了浏览器对页面编码的自动识别原理,还是个北京人呢。我找到了他的java实现算法,为了保证写好的代码不会被重新大修改,我就extends了httpclient中的GetMethod(因为我在用这个类)对里面的编码识别进行了修改,完整的算法如下(使用了chardet.jar这个类库):

这个代码是对chardet.jar的使用,这个算法来自网上:

 

 

下面是对GetMethod的扩充

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值