仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 704|回复: 7
打印 上一主题 下一主题

[学习教程] 发布一篇从http协定看没法猎取网页charset的缘故原由

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
轮性能微软曾做过一个例子,就是同一个项目用java和.net网页编程来作,结果开发周期,.net网页编程是java的一半,性能java是.net网页编程的十分之一,代码量java是.net网页编程的三倍。呵呵,这说明了什么,.net网页编程的全方位比java好。但是有的人说.net网页编程不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net网页编程很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net网页编程,只是推出了跨语言的.net网页编程,
原始成绩以下:
http://topic.csdn.net/u/20080902/02/a6445aa1-2e6b-45c6-a47c-79009718c0fa.html
html网页的内容大抵以下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<metahttp-equiv="Content-Type;charset=gb2312"/>
<title>CSDN首页</title>
...
</head>
<body>
.....
</html>
我利用以下语句抓取相似下面的网页:
URLurl=newURL("http://www.csdn.net");
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();
//创建毗连后,利用上面两句获得网页的编码格局
StringcontentType=connection.getHeaderField("Content-Type");
contentType=connection.getContentType();
不管是哪一句,失掉的contentType的值都是text/html,而不包括前面的charset=gb2312,这是为何?
我注重到一个成绩,content="text/html;charset=gb2312"这里,在;和charset之间有一个空格,是不是由于这个空格的原因,而不克不及失掉content-type的正确值
另有没有其他的举措能够失掉页面的编码字符集?
回覆:
connection.getContentType();
这个必要服务器设置了ContentType才能够,这个数据在文件头内里,而不是在文件的主体(也就是你看到的html)内里。
以是检测页面范例必要分3步,假如这一步不可,则用下一个
1看header内里的ContentType,也就是你用的谁人办法
2看html内里的ContentType,也就是剖析html页面
3对html数据举行主动评价,相似于it内里的主动检测编码范例。
一段典范的前往信息的Header数据
HTTP/1.1200OK
Date:Mon,01Sep200823:13:31GMT
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-201109:00:10GMT;Path=/
Content-Encoding:gzip
Transfer-Encoding:chunked
Content-Type:text/html;charset=UTF-8
<html>
。。。。从这里入手下手是数据的本体
此文保藏于:http://www.java2000.net/p9226

用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-20 16:32:14 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
简单生活 该用户已被删除
板凳
发表于 2015-1-29 12:57:03 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
飘灵儿 该用户已被删除
地板
发表于 2015-2-6 01:06:41 | 只看该作者
是一种突破用户端机器环境和CPU
爱飞 该用户已被删除
5#
发表于 2015-2-9 04:45:35 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
分手快乐 该用户已被删除
6#
发表于 2015-2-26 22:55:22 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
7#
发表于 2015-3-6 19:19:57 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
若天明 该用户已被删除
8#
发表于 2015-3-13 06:11:34 | 只看该作者
是一种为 Internet发展的计算机语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-10 07:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表