通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>VC编程>>正文 新版上线![旧版]
注:打开慢时请稍等

使用ISAPI扩展转发服务器信息

http://www.iyit.net  日期:2006-5-23 12:31:15  来源:网络转载   点击:

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:使用ISAPI过滤器划分Web站点的密级
下一篇:使用ISAPI过滤器请求用户名和口令字
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

参加讨论】使用ISAPI扩展转发服务器信息:    几乎每个人都知道本地日期和时间,看一下时钟就够了。如果你是网络管理员或Web 站点拥有者,管理远程资源时,只知道本地时间通常就不够用了。实际上,更重要的是要知道所辖位置的日期和时间。
    下面的示例说明了如何从服务器上取得日期和时间并在浏览器窗口中显示它们。使用这个特定ISAPI的方式有多种,但我们讨论的是在一个简单Web页上使用它们。你顺便可以获得的最重要概念是,使用ISAPI扩展,允许你访问那些你坐在控制台前使用正规程序访问的每一条信息。换言之,坐在计算机前能做的一切也可以远程地管理它们。实际上唯一的限制是你应考虑到标准Windows NT的安全性。
    技巧 灵活性是一把双刃剑。对于ISAPI扩展要考虑一些对普通程序不必考虑的限制。例如,除非你拥有实际管理整个进程的全部能力,否则就要对是否允许远程备份进行再三考虑。坐在Windows NT控制台前的管理员能够通过物理地验证磁带编号或其他识别信息看到,你打算使用的磁带不是你用于备份应该使用的那盘磁带,问题是,你不得不问问自己,远程管理员是否也具有这种能力,多数情况下,答案都是否定的。
    创建得到时间/日期的ISAPI扩展
    让我们设计基本程序吧。由于本章中已设计过一个基本的ISAPI扩展,本节中不再花费时间讨论程序的细节。请你按下列步骤进行操作吧。
    1. 创建一个新的ISAPI扩展工程,我把它命名为GetTD,至于你怎么命名就随你的便了。
    2. 对于ISAPI Extension Wizard(ISAPI扩展向导)Step 1 of 1 没有什么特别可做的事,单击Finish(完成)即可。
    3. 单击OK,关闭New Project Information(新建工程信息)对话框,在这之前应先确认所有程序参数。
    下面创建代码。和其他ISAPI扩展一样,这个例子也要添加三段主要代码。下面的列表就是要添加的东西。
    Parse map(分析映射) 分析映射对DLL中的函数如何调用作出定义,它还定义了所需变量以及这些变量映射到你的函数中的方式。
    Function(函数) 显然,如果没有某些向浏览器提供输出的代码,你的DLL 就没用了。
    Function definition(函数定义) 需要在ISAPI扩展的头文件中添加函数说明。
    正如你要看到的,我们将对GetTD.CPP文件作两处改动,还要对GetTD.H文件作一处改动。程序列表13.9是GetTD.CPP文件的有关代码。对分析映射及GetTD()函数都要看一下。还要注意对Default()函数所作的改动,它使得当你在一个ISAPI扩展文件中有多个函数时这个函数更有用。程序列表13.10列出了整个GetTD.H文件。







    (AFX_GETTD_H_E8B71025_2785_11D1_8E36_444553540000__INCLUDED)
    让我们先讨论一下程序列表13.9中的代码。这个分析映射没有什么出人意料之处。我们不需要把来自客户机的数据传递给服务器,所以对GetID函数使用了ITS_EMPTY常量。
    请注意我是如何修改Default()函数的。通常如果DLL中只有一个函数时就要在代码中使用Default()函数。但是,我发现,当DLL中多于一个函数时,作为生成ISAPI 扩展接口文件的一种方法,使用Default()函数也是相当方便的,这样,合作者(coworker) 能快速地构造一个Web页,查看ISAPI扩展提供的文档,然后去处理创建一个实际页的事务。
    GetTD()函数是相当基础的一个函数。它只是获取系统时间并把它格式化成两个字符串,一个是时间,一个是日期。请注意我是如何使用Format()函数来得到这两个字符串的。有了这两个字符串变量后,就可以创建包含其值的基本Web页面了。
    程序列表13.10与我们以前的例子有很大区别。我做的一切工作就是说明GetTD函数。这是因为我没有向函数传递任何数据,所以唯一的数据是pCtxt。
    创建测试GetTD的Web页
    现在看一看访问ISAPI扩展的HTML代码,程序列表13.11包含了一个非常简单的测试页面。

     应该注意到程序列表13.11比起以前的例子(程序列表13.4)有一个主要的变化。这一次是使用了一个锚地去访问ISAPI扩展。用户单击这一链接后,得到的是由ISAPI生成的页,而不是像通常那样链接到Web服务器的一个静态页。这样做有几个重要的优点:
    能够通过把检测到的浏览器类型作为参数传递给ISAPI扩展来创建浏览器专用页。大多数浏览器都提供了唯一识别信息。
    ISAPI扩展允许定制Web页的内容来反映特定用户的需求。
    使用ISAPI扩展,允许创建基于某些规则(如星期中某天)的链接。例如,能够把星期一欢迎页和星期五会见页连接到同一个主页链接上。
    显然,使用类似于ASP或老版本的其他技术也能得类似的结果,但事实证明,在Web站点通常不使用的许多方式中,你也能使用锚地技术。
    注释 记住先在内部网上测试这个ISAPI扩展。你不能在本地打开扩展,所以如果作为浏览器中的文件来简单地打开测试Web页的话,链接就会失败。
    现在看一下这个ISAPI扩展的输出。图13.2显示了第一次看到的Web页。如你所见,它含有一个简单标题和两个链接,ISAPI扩展中每个函数都有一个链接。

    如果单击第一个链接,你会看到如下图所示的显示内容:

    尽管这一页没有给出ISAPI扩展的明显的使用指令,但你却知道了它能做些什么。显然,在产品型扩展中可以提供更多的细节,可以包括一个参数列表(如果有的话)作为Default()函数页的一部分,有时,甚至可以包括一些与ISAPI扩展创建者进行联系的信息。
    单击浏览字符串上的Back(后退)按钮,退回到图13.2所示的初始Web页。现在试一试第二个链接。在试第二个链接之前,在测试服务器上变更一下时间和日期,这样做是为了证实ISAPI扩展确实是按所预期的那样完成了工作。下图是GetTd()函数输出时间和日期的典型例子。如你所见,Web页上显示的是服务器上变更了的系统时间,而不是本地时间。
 相关文章
最新更新 热点排行 推荐新闻
用VC++自制王码五笔输入法安装包 
在线资源指导
实用组件介绍
如何以最佳方式购买组件
ActiveX和OCX组件资源
用VC++自制王码五笔输入法安装包 
在线资源指导
实用组件介绍
如何以最佳方式购买组件
ActiveX和OCX组件资源
建立安装程序
收 集 文 件
理解各种打包类型
打包应用程序
向应用程序增加基于HTML的帮助
VC++实现对远程计算机屏幕的监视
用VC++6.0的Sockets API实现一个聊天室
多线程技术在VC++串口通信程序中的应用
用VC++制作一个简单的局域网消息发送工
用VC 6.0实现串行通信的三种方法
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
优秀公益广告作品欣赏(7)
免费在QQ上看在线电影电视听音乐
WEB服务器配置全攻略(三)
QQ珊瑚虫外挂4.0版本发布!
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
微软将在华推分期付款,充值卡PC 可低价
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
内存混插常见问题和解决方法
Office2007简体中文版浮出水面 美图抢
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息