一切福田,不離方寸,從心而覓,感無不通。

IIS7以CGI方式运行Python脚本

由于接触到Python Web开发,正好把最简单的CGI方式研究了一下,话说在Windows下配置Python的Web开发还真的蛮麻烦的,Linux下配置倒挺容易,正好微软有技术文章《Using Python Scripts with IIS》介绍了这些内容,此文介绍了两种方法,一是使用ASP引擎来运行Python脚本,这个可能需要用到ActivePython,当然ASP技术已经过时了,我今天就简单介绍下CGI模块运行方式。

编写简单的支持CGI的Python脚本(本文介绍3.2版本的Python):

这样就可以了,大家可以猜出CGI是将标准输出流重新定向到HTTP输出流来实现网页或者数据传输的。

当然这个在IIS中是不能直接运行的,我们需要配置一下,打开Internet 信息服务(IIS)管理器界面,选择“处理程序映射”。

 

在接下来出现的界面右侧选择“添加模块映射”。

 

假设我们的Python 3.2安装于C:\Python32,那么可以向下图这样填写:

 

然后点击确定,在接下来出现的对话框选择“是”。

 

好了,我们的配置完成了,重启一下IIS,然后赶快试试刚才的代码吧。可能有人会抱怨,用CGI编写网页一旦报错调试会比较麻烦,比如报下面的错误:

其实我们只需要在最开始引入import cgitb; cgitb.enable()就可以了,就像下面这样:

这样一旦出错,就会以友好的方式将错误输出来。

Python cgitb

对于表单的处理,可以参考import cgi模块(cgi.FieldStorage),网上有很多此方面的介绍,我就不多说了,Enjoy it!

from:http://wangye.org/blog/archives/684/