10-01
16
从http协议看无法获取网页charset的原因
作者:Java伴侣 日期:2010-01-16
connection.getContentType();
这个需要服务器设置了 ContentType才可以,这个数据在文件头里面,而不是在文件的主体(也就是你看到的html)里面。
所以检测页面类型需要分3步,如果这一步不行,则用下一个
1 看header里面的ContentType,也就是你用的那个方法
2 看 html 里面的 ContentType ,也就是解析html页面
3 对html数据进行自动评估,类似于it里面的自动检测编码类型。
一段典型的返回信息的Header数据
HTTP/1.1 200 OK
Date: Mon, 01 Sep 2008 23:13:31 GMT
Server: Apache/2.2.4 (Win32) mod_jk/1.2.26
Vary: Host,Accept-Encoding
Set-Cookie: JAVA2000_STYLE_ID=1; Domain=www.java2000.net; Expires=Thu, 03-Nov-2011 09:00:10 GMT; Path=/
Content-Encoding: gzip
Transfer-Encoding: chunked
Content-Type: text/html;charset=UTF-8
<html>
。。。。从这里开始是数据的本体
这个需要服务器设置了 ContentType才可以,这个数据在文件头里面,而不是在文件的主体(也就是你看到的html)里面。
所以检测页面类型需要分3步,如果这一步不行,则用下一个
1 看header里面的ContentType,也就是你用的那个方法
2 看 html 里面的 ContentType ,也就是解析html页面
3 对html数据进行自动评估,类似于it里面的自动检测编码类型。
一段典型的返回信息的Header数据
HTTP/1.1 200 OK
Date: Mon, 01 Sep 2008 23:13:31 GMT
Server: Apache/2.2.4 (Win32) mod_jk/1.2.26
Vary: Host,Accept-Encoding
Set-Cookie: JAVA2000_STYLE_ID=1; Domain=www.java2000.net; Expires=Thu, 03-Nov-2011 09:00:10 GMT; Path=/
Content-Encoding: gzip
Transfer-Encoding: chunked
Content-Type: text/html;charset=UTF-8
<html>
。。。。从这里开始是数据的本体
评论: 0 | 引用: 0 | 查看次数: 207
发表评论