51CTO下载-自己动手编写一个浏览器_分享C#项目开发案例.docVIP

  • 8
  • 0
  • 约5.32万字
  • 约 44页
  • 2017-01-05 发布于重庆
  • 举报

51CTO下载-自己动手编写一个浏览器_分享C#项目开发案例.doc

51CTO下载-自己动手编写一个浏览器_分享C#项目开发案例

自己动手编写一个浏览器 实例目标 在这一章,我们使用微软提供的浏览器COM组件来编写一个Internet浏览器。自己编写浏览器的好处就是可以实现一些扩展功能。在这章中,我们将扩展我们的程序实现网站过滤、浏览记录和防止弹出广告窗口的功能。 在本章的后一部分,我们将使用HttpWebRequest和HttpWebResponse组件来实现浏览网页源码的功能。最后,我们还利用这个组件实现了网上文件的下载、上传等功能。 主要内容: HTTP协议 网页浏览器 定制扩展浏览器功能 WebRequest类 网页源代码浏览 3.1 实例功能 我们首先要浏览器程序。这个实例可以实现简单的浏览器功能,如图3-1。在编辑框中输入URL地址,然后按GO按钮就可以实现浏览网页的功能,如图3-2。 图3-1:浏览器程序 图3-2:浏览器程序效果 在我们的浏览器中,您同样可以使用“主页”、“刷新”、“前进”、“后退”、“停止”按钮完成相应的浏览功能。 接下来,我们为自制的浏览器程序添加几个扩展功能。禁止用户访问某些特殊站点,如图3-3。 图3-3:禁止用户访问不良网站 图3-4:记录用户访问过的网站 接下来还实现了记录用户访问过的网站及时间,这对于比较重要的工作站或公司都是很好用的监督、管理办法。其效果如图3-4。 最后,如果你想杜绝弹出式广告窗口(如图3-5)对你的骚扰,可以使用本章实例介绍的第三个扩展办法,效果如图3-6。 图3-5:弹出式广告窗经常骚扰我们 图3-6:免除弹出式广告窗的骚扰 本章的第二个实例是浏览网页的源代码,如图3-7。 图3-7:网页源代码浏览程序 图3-8:浏览源代码效果 只要输入网址然后按回车或点击“源码”按钮就可以看到该网页传回来的源代码,如图3-8。 3.2 编程思路 如果1995年的时候,你掌握了浏览器的编程技术,那您无疑是一个网络先锋、编程圣手。然而时至今日,浏览器编程已经算不上有什么技术含量了。编写浏览器的技术从商业机密到代码公开,再到现在的组件模块化,已经慢慢的从一项科技技术过渡到一项商业产品。我们只需要利用这些“半成品”就可以开发出自己的浏览器。说白了,就是给实现浏览功能的核心模块穿上一层外衣,并规定了它的一些动作。 那么我们还学习浏览器编程有什么用呢?又没有什么技术含量,而且现在浏览器到处都能免费下载为什么还要自己去做一个?笔者的答案是,大大的有必要学习浏览器编程技术。因为在Internet迅速普及的今天,浏览器操作无疑已经成为继Windows之后,第二个标准化操作平台。可以说,现在会上网的人,99%会使用Internet浏览器,这是一个比Windows更为广泛的操作平台。在这个“协议为王、平台为王”的世界,大家都争先恐后的使自己的产品与主流的平台兼容。因为这样可以大大节省软件的使用培训费用,而且利于软件的迅速推广。例如我们可以开发一套软件,您可以标新立异的想出许多方便的用户界面,例如点击鼠标右键就可以退出程序。但这并不符合Windows的用户习惯,这样不管你的软件有多么方便,在推广的时候必然会因为用户习惯问题受到很大的阻力。苹果公司的电脑与Linux主要就是因为这个原因没有得到普及。好在Internet浏览器来了,可以打破微软在用户界面上的垄断。浏览器的超链接方式比Windows更为直观、更为方便。说到这里您应该明白使应用程序的操作界面符合浏览器界面方式有什么好处了吧。用户会觉得更亲切、更好用、更好学。 学习浏览器编程的另一个好处就是给你的应用程序添加了一个网络接口。随着Internet日渐普及的今天,网络接口已经成为标准商用程序的必备。支持用户访问主页、在线帮助、在线升级已经成为了商业软件的标准组成模块。在程序中嵌入一个浏览器接口无疑使这些功能可以很方便的实现。例如,超星图书馆的客户端程序中就提供浏览网页的功能,您可以方便的在网络上找到想看的书。而腾讯公司的Tecent浏览器,相信更是大名鼎鼎,它把所有的IE窗口合并到一个主窗口下,使浏览网页更为方便。 那么怎么样才能方便的使自己的应用程序添加浏览功能呢?我们并不想费太多的时间弄清楚HTTP协议的实现细节,我们只想对浏览器的外观进行一些改动并且对浏览器的行为进行一些设置或限制。显然微软已经注意到程序员们的这一急切的需求,所以在Visual C#之中我们可以使用现成的浏览器COM组件,然后对这个COM组件进行简单的设定就可以实现网页浏览的功能了。 利用这个COM组件再结合上我们的需求,我们可以因地制宜的拓展浏

文档评论(0)

1亿VIP精品文档

相关文档