Python中的 CGI 编程
什么是 CGI?
通用网关接口(也称为 CGI)不是一种语言,而只是一种规范(一组规则) ,有助于在 Web 应用程序和浏览器(或客户端应用程序)之间建立动态交互。 CGI 程序使客户端和 Web 服务器之间的通信成为可能。每当客户端浏览器向网络服务器发送请求时,CGI 程序都会根据客户端-服务器提供的输入将输出发送回网络服务器。
- CGI 是程序与 HTTP 服务器交互的标准。
- CGI 编程是动态编写的,生成响应用户输入的网页或与服务器上的软件交互的网页
CGI的工作
当客户端服务器向网络服务器发出请求时,CGI 使用外部脚本文件来处理此类请求。这些文件可以用任何语言编写。这些脚本文件的主要目的是快速、更有效地从数据库中检索数据。这些脚本将检索到的数据转换为 Html 格式,然后以 Html 格式的页面将数据发送到这些 Web 服务器。
在您的系统上安装 apache2 我们可以在主机 '127.0.0.1' 上运行 'hello.py'
建议在尝试此示例之前具备 HTML 的基本知识。
你好.py
#!/usr/bin/python3
# Importing the 'cgi' module
import cgi
print("Content-type: text/html\r\n\r\n")
print("")
print(" Hello Program!
")
# Using the inbuilt methods
form = cgi.FieldStorage()
if form.getvalue("name"):
name = form.getvalue("name")
print("Hello" +name+"! Thanks for using my script!
")
if form.getvalue("happy"):
print(" Yayy! I'm happy too!
")
if form.getvalue("sad"):
print(" Oh no! Why are you sad?
")
# Using HTML input and forms method
print("")
CGI的一些优点讨论如下:
1 它们是可移植的,几乎可以在任何 Web 服务器和操作系统上运行。
2 它们与语言无关。
3 它们本质上是可扩展的程序,这意味着它们可以执行简单和复杂的任务。
4 CGI 增强了 Web 应用程序中的动态通信。
5它们还有助于通过降低开发和维护成本来提高企业的盈利能力。
CGI 的一些缺点如下:
1 每次启动程序时,解释器都必须评估 CGI 脚本,这会产生大量流量,因为来自客户端服务器端的请求太多。
2 CGI 程序的编程和设计是非常复杂和模糊的。
3 CGI 程序可能会危及服务器安全,因为它们中的大多数都是免费且容易获得的,因此它们非常容易受到攻击。