如何在日常编码中最佳利用Python CGI?

Yuchuan 发表于 2021/02/04 13:57:41 2021/02/04
【摘要】 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-Edureka

让我们看看Python CGI程序的结构是什么,

Python CGI程序的结构 

既然您知道了CGI程序在Python中的外观,那么让我们仔细看一下它的结构。

  1. 用Python编写的CGI脚本的输出必须包含两个由空白行分隔的部分。 
  2. 第一部分将包含描述的标头,第二部分将包含在脚本执行期间将使用的数据类型。 

要了解这一点,请看下面的示例。

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-Edureka

为了在Python中使用CGI模块,您首先需要将其导入Python IDLE。要做的语法如下。 

导入cgitb

cgitb.enable()

通过使用上面的代码,基本上可以触发特殊异常处理程序的形成,该异常处理程序能够在执行时在浏览器中显示任何运行时错误。 

语法图例

使用Python编写CGI程序脚本时,请注意以下常用语法。 

HTML

  1. Content or Type: text/html
  2. Location: URL
  3. Expires: Date
  4. Content Length: N
  5. Set Cookie: String

让我们看一下Python CGI文章的最后一部分,即环境变量,

CGI环境变量 

除了上面共享的HTM1语法外,您还需要对常用的CGI环境变量进行注释。 

  1. CONTENT_TYPE:用于描述数据和内容类型。 
  2. CONTENT_LENGTH:主要在Post中使用,以定义查询或信息的长度。
  3. HTTP_COOKIE:如果在特定情况下,用户设置了cookie,则将其用于返回该cookie。
  4. HTTP_USER_AGENT:如果需要查看用户当前使用的浏览器类型,那么将使用此变量。 
  5. REMOTE_HOST:用于定义访问者的主机名。
  6. PATH_INFO:用于定义CGI脚本的路径。
  7. REMOTE_ADDR:如果需要定义访问者的IP地址,则可以使用此变量。 
  8. REQUEST_METHOD:用于通过POST或GET发出请求。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。