小偷程序,即用程序偷取别人的数据或其他资源为自己所用。小偷程序常用在那些实时数据查询性质的应用中。Ajax和小偷程序的结合,使小偷程序的功能发挥到了极至。本章以天气查询、语言翻译、电视节目时间表查询等3个典型应用为例,详细介绍了Ajax小偷程序的具体实现。
12.1 概述
Ajax小偷程序和一般小偷程序的流程基本相同,不同的只是在客户端浏览器层添加了异

图12.1 Ajax小偷程序基本流程图
步支持。其基本流程是:首先要求用户输入查询内容,提交查询。查询请求异步提交到服务器后,本地服务器负责从其他服务器获得需要的数据,然后对这些数据进行加工整理并返回给客户端显示出来。如图12.1所示Ajax小偷程序的基本流程图。
本章介绍了3个Ajax小偷程序的具体实例。天气查询需要实时获取问天网的天气预报数据;在线翻译利用google的翻译引擎构造自己的网页翻译,文字翻译功能;电视节目时间表查询则是利用TVMAO的节目数据库,提供实时的、简洁的电视节目时间表的查询服务。本章实例文件的资源管理器窗口如图12.2所示。
各文件的具体说明见表12-1所示。
表12-1 系统文件说明
|
文 件 名 |
说 明 |
|
App_Data\tv.mdb |
电视节目时间表查询的数据库 |
|
App_Code\Sql.cs |
实现封装数据库操作的功能 |
|
App_Code\Thief.cs |
小偷类,用于抓取网页。Ajax小偷程序的核心 |
|
App_Code\Tools.cs |
工具类,封装了一些正则表达式操作 |
|
Google.ashx |
在线翻译的handler |
|
Google.aspx |
在线翻译的显示页面 |
|
TV.ashx |
电视节目时间表查询的handler |
|
TV.aspx |
电视节目时间表查询的显示页面 |
|
TV.js |
电视节目时间表查询相关的脚本 |
|
Weather.ashx |
天气预报查询的handler |
|
Weather.aspx |
天气预报查询的显示页面 |
|
XmlHttp.js |
封装XMLHTTP对象,代码与前面章节中的相同 |






