用 WebBroker 做一个类似 PHP 的Web脚本解释器

用 Delphi 写一个基于 WebBroker 框架的 CGI,编译后的 CGI 文件名:test.exe

在 IIS 底下,开一个虚拟目录,假设叫 test 来执行这个 CGI,则访问地址是:http://localhost/test/test.exe/login

这里的问题是,访问地址必须要有 text.exe,将这个程序的 exe 文件名暴露在外。

如果不想暴露 exe 文件名,类似 php 脚本那样,访问 1.php 则执行 php 的 CGI 程序去调用 1.php,也就是达到这样一种效果:http://localhost/text/1.dhtml 其实是执行力 test.exe 然后告诉 test.exe 去处理 1.dhtml 文件。

方法如下:

1. 同样是编译为 CGI;

2. 设置 IIS7 的:添加模块映射,在添加模块映射到窗口里面:

2.1. 请求路径:填写 *.dhtml

2.2. 模块:下拉选择 CgiModule

2.3. 可执行文件,选择这个 test.exe

2.4. 名称:随便填写一个名字。

这里,需要去 "ISAPI 和 CGI 限制" 里面,去添加一个对 test.exe 这个 CGI 的允许。

到此,IIS7 的设置结束。

-----------------------

如果访问:http://localhost/test/test.exe/1.dhtml 则因为 WebBroker 程序的处理路径里面,没有 1.dhtml,它会去执行默认处理路径(默认 Action)。在默认处理路径里面,我们可以自己写代码,判断用户是要访问哪个文件,则去调用相应的文件(比如 1.dhtml),甚至,用户访问了一个根本不存在的文件比如 3.dhtml,因为它的文件后缀是 dhtml 所以 IIS 也会丢给 test.exe 去执行。因此,test.exe 只需要在默认处理路径底下,判断用户输入的是哪个 dhtml 文件,剩下的就可以自己写代码来实现如何处理了,不一定非要有这个文件存在。这样,对 test.exe 的请求,就可以不用在 URL 里面出现 test.exe 了。

如果提交表单,地址也可以这样写:

<form action="http://localhost/test/5.dhtml" method="post">
  <Input name="abcd" value="请输入" />
  <input type="submit" value="提交" >
</form>

同样会提交到 WebBroker 的 test.exe 的默认处理路径底下去。

-------------------------

看起来,可以直接在 WebBroker 框架上,自己用 Delphi 代码,实现一个类似 php 的脚本框架或通用脚本解释器。或者,简化一点,可以用一些外部脚本比如 login.dhtml 这样的文件,让 WebBroker 的程序来处理后,输出给浏览器。这样就是一个简化版的特定专用的脚本解释器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值