一、CGI是什么
CGI的全称是Common Gateway Interface,也就是通用网关接口。它是连接Web服务器和CGI脚本(或程序)的接口标准。通过CGI,Web服务器可以将请求连接到后台程序,并且将程序的输出返回到客户端浏览器,实现了Dynamically Generating Web Pages的效果。目前,CGI已经被一些新的更优秀的解决方案所替代,但是CGI仍然是编写交互式Web应用程序的基础技术。
二、CGI的原理
每个Web服务器都会规定一个目录来存放CGI程序,通常是cgi-bin目录。当Web服务器接收到一个CGI请求后,它会将所有的CGI环境变量和CGI请求数据转换成标准输入流,然后启动CGI程序,并将标准输出流传送给客户端浏览器。
CGI请求的数据可以来自GET或POST方法,还可以使用多种编码格式。每个CGI程序都会从服务器接收全部请求数据,解析处理并返回HTML文档。
三、Python中的CGI
Python的CGI编程可以用来开发动态的web页面,它具有跨平台特性,可以在多个平台上运行。Python的CGI程序可以通过以下几个步骤实现:
1. 在Web服务器上创建一个新目录,可以访问CGI程序,通常是cgi-bin目录。
2. 创建一个Python脚本,在脚本中写入CGI程序的代码。同时,设置脚本的执行权限(Unix/Linux)。
3. 编写HTML页面,将其中的表单数据或URL附加数据传递给脚本。
4. 在HTML页面中使用CGI脚本,指定脚本的名称和位置。CGI程序的位置可以使用相对路径或绝对路径。
下面是一个简单的Python CGI程序实例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# cgi导入必要的模块
import cgi, cgitb
# 创建FieldStorage的实例
form = cgi.FieldStorage()
# 获取提交的表单数据
if form.getvalue('name'):
name = form.getvalue('name')
else:
name = "没有提交数据"
# 设置返回的文档类型
print "Content-type:text/html"
print
print ""
print ""
print "Python CGI程序实例 "
print ""
print ""
print "Hello %s
" % name
print ""
print ""
四、小结
Python的CGI编程是Web编程的基础技术之一。虽然目前CGI已经被更优秀的解决方案所替代,但CGI仍然具有其优势,特别是在一些简单的Web应用程序中。CGI的原理和Python中的CGI编程都需要掌握,才能更好地开发出更加优秀的Web应用程序。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/257048.html
微信扫一扫
支付宝扫一扫