一、CGI脚本简介
CGI是“通用网关接口”(Common Gateway Interface)的缩写,它是Web服务器和应用程序或脚本之间的接口标准。它可以让服务器接受来自Web浏览器的请求,根据请求中传递的参数启动脚本。CGI是HTTP服务器在接收到请求之后,将请求交给CGI程序进行处理,CGI程序将处理结果反馈给HTTP服务器,最终HTTP服务器再将结果返回给浏览器。
CGI脚本一般使用Perl或者Shell脚本等编写,这里我们介绍使用Python编写CGI。
二、编写一个简单的CGI脚本
以下是一个简单的CGI脚本,用于显示当前时间:
#!/usr/bin/python3
import time
print("Content-type:text/html")
print()
print("")
print("")
print("Current Time ")
print("")
print("")
print("Current Time
")
print("Current time is %s.
" % time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
print("")
print("")
在服务器上部署这个脚本,并将其命名为showtime.cgi
。运行该脚本会在浏览器窗口中显示如下内容:
Current Time
Current time is 2022-03-20 20:00:00.
我们可以看出,这个CGI脚本通过HTTP服务器接收到请求后,生成一个HTML页面,然后将这个HTML页面返回给浏览器。
三、与HTML结合使用的CGI脚本
CGI脚本可以用来在Web应用程序中获取数据、显示数据、数据验证和处理表单等。下面以一个简单的例子来说明如何在表格中获取用户输入并且将其输出:
#!/usr/bin/python3
import cgi
print("Content-type:text/html")
print()
print("")
print("")
print("CGI Example ")
print("")
print("")
print("CGI Example
")
print("")
print("Enter your name:
")
print("")
print("")
formdata = cgi.FieldStorage()
if formdata.getvalue('name'):
name = formdata.getvalue('name')
print("Your name is: %s
" % name)
print("")
print("")
在这个CGI脚本中,我们在表单中添加了一个“文本框”,并在CGI脚本中获取该文本框中填写的内容,然后将它输出到浏览器窗口中。
在服务器上部署这个脚本,并将其命名为cgi_example.py
。运行该脚本会在浏览器窗口中显示如下内容:
CGI Example
Enter your name:
[Submit button]
当用户输入一个名字并且点击提交时,CGI脚本会接收到请求,并返回一个包含用户输入的HTML文件。在这里,我们将用户输入的名字输出到浏览器窗口中。
四、结语
Python的CGI模块可以方便的编写出与HTML结合的脚本程序。CGI脚本对于网页交互来说是一个非常重要的工具。在这篇文章中,我们介绍了如何编写一个简单的CGI脚本和一个与HTML结合的CGI脚本。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/244311.html