CGI(Common Gateway Interface)是一种用于在Web服务器上运行程序的标准接口,它允许Web服务器将HTTP请求传递给外部程序(例如,Python脚本),并获取程序的输出作为HTTP响应返回给客户端。
以下是一个简单的示例,展示了如何使用CGI在Python中创建一个简单的Web应用程序:
-
创建Python脚本(例如
hello.py
),并设置可执行权限。#!/usr/bin/env python print("Content-Type: text/html") # 响应头,指定返回的内容类型 print() # 输出一个空行,表示响应头结束 # HTML内容 print("<html><head><title>Hello CGI</title></head><body>") print("<h1>Hello, CGI!</h1>") print("</body></html>")
-
将脚本保存到Web服务器可以访问的目录中。
-
配置Web服务器以支持CGI。具体配置方法会因服务器而异,在Apache服务器中,可以编辑服务器配置文件或虚拟主机配置文件,并添加以下代码:
<Directory /path/to/cgi/dir> Options +ExecCGI AddHandler cgi-script .cgi .py </Directory>
-
在Web浏览器中访问脚本的URL(例如:http://localhost/cgi-bin/hello.py)。
在上述示例中,我们创建了一个Python脚本 hello.py
,它通过CGI机制处理HTTP请求。首先,我们输出Content-Type
响应头,指定返回的内容类型为text/html
。然后,我们输出HTML内容,作为HTTP响应的正文部分。
需要注意的是,CGI是一种简单而通用的机制,可以用于在Web服务器上运行各种类型的程序,例如Python、Perl、C/C++等。CGI脚本可以接收HTTP请求的参数、读取和写入文件、与数据库交互等。
要深入学习CGI的使用,可以参考相应服务器的文档以及其他相关的教程和资源,了解服务器的配置和CGI脚本的编写方法。