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

原创 2005年01月02日 05:11:00

关于 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 hitwall.gif
主要是文章只从总体的角度上讲述大致该如何做配置,并未涉及到具体平台上的操作。 而我使用的是 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 是一个跨平台,非常方便好用的、解释型的脚本语言。
虽然是解释型的,但是运行速度不可思议的快, 而且其图像处理能力令人吃惊。

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

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

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

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

三、python小程序实例(python编写cgi服务)

继上篇文章介绍了python部署之后,此篇文章主要介绍小程序实例开发部署  表单提交案例: 1、helloForm.html  以下为表单通过POST方法(method="post")向服务器脚本 ...
  • u012255097
  • u012255097
  • 2017年07月24日 19:17
  • 207

编写一个简单的C++程序

编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main。操作系统通过调用main来运行C++程序。下面是一个非常简单的main函数,它什么也不干...
  • broadview2006
  • broadview2006
  • 2013年09月16日 15:00
  • 5555

linux 下的netstat 简单学习

linux 下的netstat 简单学习 netstat -apn |grep hws tcp        0      0 127.0.0.1:53663             12...
  • bsnry
  • bsnry
  • 2015年07月18日 17:49
  • 243

[转]REBOL到底哪里不同?

REBOL到底哪里不同?翻译:ShiningRay @ NirvanaStudioREBOL并非一个传统的计算机语言像C、BASIC或者Java。相反,REBOL是设计为解决在计算中的一个根本问题:在...
  • heiyeshuwu
  • heiyeshuwu
  • 2008年04月11日 22:16
  • 2256

CGI入门讲解

CGI脚本是什么?  CGI脚本简单地讲是个运行在Web服务器上的程序, 有浏览器的输入触发. 这个脚本通常象服务器和系统中其他程序如数据库的桥梁。          CGI 脚本难道不是一个真正的脚...
  • u011225629
  • u011225629
  • 2015年09月11日 09:16
  • 1639

CGI程序学习

学习CGI脚本 (脚本) CGI 意思为 Common Gateway Interface, 一种基于浏览器的输入、在Web服务器上运行的程序方法. CGI脚本 使你的浏览器与用户能交互,为了在...
  • zhoubl668
  • zhoubl668
  • 2012年03月13日 11:30
  • 8565

CGI程序编写

下载回源码包以后,就3个文件: cgic.c      函数库 capture.c   一个很简单的CGI例子,仅仅输出两行提示文字 cgictest.c  一个演示读取form表单数据的CGI例子 ...
  • manchestermi
  • manchestermi
  • 2016年03月09日 17:04
  • 2486

一个简单的Servlet .

2.1.4 一个简单的Servlet(1) 这一节我们编写一个最简单的Servlet,其功能就是向客户端输出一个字符串“Hello World”。实例的开发主要有下列步骤。 Step1:编写H...
  • li_xiao_ming
  • li_xiao_ming
  • 2014年03月18日 16:31
  • 2134

一个简单的struts2 程序

一、什么事Struts2 struts2是以WebWork为h
  • yskyj
  • yskyj
  • 2014年06月28日 20:35
  • 998

c语言编写的cgi程序实现登陆模块

这个登陆模块前端界面很简洁,只是为了实现功能。 1.Login.html 2.Main.html 在Login.html通过输入用户名和密码进行登陆,验证成功,跳入Main.html。 Main...
  • lifan1314521
  • lifan1314521
  • 2016年04月27日 17:17
  • 1269
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Rebol 学习笔记】第一篇:编写一个简单的 CGI 程序
举报原因:
原因补充:

(最多只允许输入30个字)