CGI 目前由NCSA维护,NCSA定义CGI如下:
CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。
为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程:
1、使用你的浏览器访问URL并连接到HTTP web 服务器。
2、Web服务器接收到请求信息后会解析URL,并查找访问的文件在服务器上是否存在,如果存在返回文件的内容,否则返回错误信息。
3、浏览器从服务器上接收信息,并显示接收的文件或者错误信息。
CGI程序可以是Python脚本,PERL脚本,SHELL脚本,C或者C++程序等。
第一个CGI程序
我们使用Python创建第一个CGI程序,文件名为hello.py,文件位于/var/www/cgi-bin目录中,内容如下:
print ("Content-type:text/html")
print () # 空行,告诉服务器结束头部
print ('')
print ('')
print ('')
print ('Hello Word - 我的第一个 CGI 程序! ')
print ('')
print ('')
print ('Hello Word! 我是来自菜鸟教程的第一CGI程序
')
print ('')
print ('')
以下是一个简单的URL,使用GET方法向hello_get.py程序发送两个参数:
import codecs ,sys
sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer)
#CGI处理模块
import cgi, cgitb
#创建 FieldStorage 的实例化
form = cgi.FieldStorage()
#获取数据
site_name = form.getvalue('name')
site_url = form.getvalue('url')
print ("Content-type:text/html")
print ()
print ("")
print ("")
print ("")
print ("The site of Mr.chen ")
print ("")
print ("")
print (" Mr.chen ")
print ("")
print ("")
print ("%s官网:%s
" % (site_name, site_url))
print ("")
print ("