如何在日常编码中最佳利用Python CGI?
Python是当今市场上功能最丰富的编程语言之一。Python受欢迎的主要原因是它带来的众多功能以及其在多个平台上的多功能性。我们被问到最多的Python编程系统的功能之一就是Python CGI,因此在本文中,我们将更多地讨论Python CGI,其用法以及如何在日常编码中实现它。
本文将介绍以下指针,
Python CGI
什么是CGI?
CGI或Common Gateway Interface(通用网关接口)是设置方法的行业公认缩写,该方法用于定义Web服务器和自定义脚本之间如何交换信息。迄今为止,CGI脚本已由NCSA正式维护。
在Python中使用CGI
如前一段所述,CGI是一种编写程序的方式,该程序能够通过在另一台Web服务器上运行的Web服务器交换数据。
在Python接口上编写CGI程序时要注意的最重要的事情之一是,编写CGI程序是为了动态生成网页,这些网页不仅可以从用户那里获取输入,还可以同时显示输出。
例
为了理解Python中CGI编程的概念,让我们看下面的示例。
注意:您需要已经安装apache2才能执行以下示例。默认情况下,名为“ hello.py”的程序将在主机127.0.0.1上运行。
#!/usr/bin/python3
# Importing the 'cgi' module
import cgi
print("Content-type: text/htmlrnrn")
print("<html><body>")
print("
<h1> Hello Program! </h1>
")
# Using the inbuilt methods
form = cgi.FieldStorage()
if form.getvalue("name"):
name = form.getvalue("name")
print("
<h1>Hello" +name+"! Thanks for using my script!</h1>
")
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("
<form method='post' action='hello2.py'>
")
print("
Name: <input type='text' name='name' />
")
print("<input type='checkbox' name='happy' /> Happy")
print("<input type='checkbox' name='sad' /> Sad")
print("<input type='submit' value='Submit' />")
print("</form")
print("</body></html>")
输出量
让我们看看Python CGI程序的结构是什么,
Python CGI程序的结构
既然您知道了CGI程序在Python中的外观,那么让我们仔细看一下它的结构。
- 用Python编写的CGI脚本的输出必须包含两个由空白行分隔的部分。
- 第一部分将包含描述的标头,第二部分将包含在脚本执行期间将使用的数据类型。
要了解这一点,请看下面的示例。
print ("Content-Type : text/html")
# then comes the rest hyper-text documents
print ("<html>")
print ("<head>")
print ("<title>My First CGI-Program </title>")
print ("<head>")
print ("<body>")
print ("
<h3>This is HTML's Body section </h3>
")
print ("</body>")
print ("</html>")
输出量
为了在Python中使用CGI模块,您首先需要将其导入Python IDLE。要做的语法如下。
导入cgitb
cgitb.enable()
通过使用上面的代码,基本上可以触发特殊异常处理程序的形成,该异常处理程序能够在执行时在浏览器中显示任何运行时错误。
语法图例
使用Python编写CGI程序脚本时,请注意以下常用语法。
HTML
- Content or Type: text/html
- Location: URL
- Expires: Date
- Content Length: N
- Set Cookie: String
让我们看一下Python CGI文章的最后一部分,即环境变量,
CGI环境变量
除了上面共享的HTM1语法外,您还需要对常用的CGI环境变量进行注释。
- CONTENT_TYPE:用于描述数据和内容类型。
- CONTENT_LENGTH:主要在Post中使用,以定义查询或信息的长度。
- HTTP_COOKIE:如果在特定情况下,用户设置了cookie,则将其用于返回该cookie。
- HTTP_USER_AGENT:如果需要查看用户当前使用的浏览器类型,那么将使用此变量。
- REMOTE_HOST:用于定义访问者的主机名。
- PATH_INFO:用于定义CGI脚本的路径。
- REMOTE_ADDR:如果需要定义访问者的IP地址,则可以使用此变量。
- REQUEST_METHOD:用于通过POST或GET发出请求。
- 点赞
- 收藏
- 关注作者
评论(0)