【Rebol学习笔记】第一篇:编写一个简单的CGI程序

发表于:2007-05-25来源:作者:点击数: 标签:
关于 Rebol 语言的介绍,请查阅《 开发 高手》上蔡学镛的连载。在 2004 《 程序员 》合订本中有全部的。 官方网站: http://www.rebol.com mailing list: http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-month-index.r?month=200412 FAQ: http://www.rebol.

关于 Rebol 语言的介绍,请查阅《开发高手》上蔡学镛的连载。在 2004 《程序员》合订本中有全部的。
官方网站:
http://www.rebol.com
mailing list:
http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-month-index.r?month=200412
FAQ:
http://www.rebol.com/faq.html
CodeBook:
http://www.rebol.net/cookbook/
how-to:
http://www.rebol.com/how-to.html
还有更多的资源自己用 google 搜。


废话不多说。前天我开始对照蔡老师的教程学 Rebol, 花了一两天大致看完了整个连载文章。
今天到网站上的 how-to 栏目里看到这篇:


Quick and Easy CGI - A Beginner's Tutorial and Guide
http://www.rebol.com/docs/cgi1.html


标题上说的很 easy , 实际上并非那么 easy
主要是文章只从总体的角度上讲述大致该如何做配置,并未涉及到具体平台上的操作。 而我使用的是 windows 2000 + IIS, 从未写过 CGI, 更是困难重重。


查了一堆资料,翻看了 mailing-list 里面很多旧贴子, 总算试成功了我的第一个 CGI 程序 :)


程序如下:


rebol [title: "server time"]
print {Content-Type: text/html^/}
print [<html><body>]
print ["date/time is:" now]
print [</body></html>]


保存为 now.cgi 放到 cgi 的目录下。
这个目录我是新建的一个 d:\web\cgi-bin
然后要确认一下是否对 Rebol031.exe (根据 Rebol 的不同版本,这个可执行文件的名称可能不同), 以及 cgi 文件、极其目录设定了可读、可写的权限。


接下来是 IIS 的设置。
右击 cgi-bin 目录里,"应用程序名" 后面如果没有就点 “创建”。
然后点 “配置” -》“应用程序映射”
添加 ".cgi" 扩展名, 可执行的命令设置为:


D:\Rebol\core\rebol031.exe -cs %s


上面这个 rebol 的目录自己改成你安排 rebol core 的那个目录。


就是这个命令设置把我害的好惨。开始按照文章的设,死活不对。 后来翻看很多帖子才知道要加


-cs %s 参数
这个 %s 表示命令行后跟的那个文件名,也就是我们要解释的那个源程序。


-c 是告诉 Rebol 要运行在 CGI 模式;
-s 大致是安全的意思,具体什么含义不太清楚,我也没有去细查。我这里去掉这个参数也是可以正常运行的,就是改成这样:


D:\Rebol\core\rebol031.exe -c %s


“动作” 里选“全部动作”就可以了。


配好了之后,打开 IE, 浏览: http://localhost/cgi-bin/now.cgi
看到了如下很简单的输出:


date/time is: 2-Jan-2005/4:47:38+8:00


这里需要说的是,如果权限配置不对,或者应用程序映射没配置对,有可能会提示你:


没有输出正确的 http-headers, 或者类似的其他信息,
或者长时间无反应然后超时。


Rebol 是一个跨平台,非常方便好用的、解释型的脚本语言
虽然是解释型的,但是运行速度不可思议的快, 而且其图像处理能力令人吃惊。


我这两天纯粹是为了打发时间来学这个, 也许以后能用的上
后面随着我的学习会陆续做一些笔记贴上来分享。

Rebol 的编辑器推荐大家使用 EditPlus , 这里我找到了一个别人上传的语法高亮配置文件:
http://www.editplus.com/files/rebol.zip


EditPlus 的拥护者很多,所以支持多种语法高亮,自动完成。 是一个不可多得的很好的编辑器。
这里有其他语言的一些语法文件和自动完成文件:


http://www.editplus.com/others.html

原文转自:http://www.ltesting.net