Rumah >pembangunan bahagian belakang >Tutorial Python >使用CGI模块建立简单web页面教程实例

使用CGI模块建立简单web页面教程实例

零下一度
零下一度asal
2017-05-19 13:06:492739semak imbas

最近几天一直在学习python web编程,主要的内容是构建简单的web服务器和运用CGI模块建立简单web页面(用词不够专业尽请谅解)。

python用于搭建http server的模块有如下三种:
1)BaseHTTPServer:提供基本的Web服务和处理器类,分别是HTTPServer及BaseHTTPRequestHandler;
2)SimpleHTTPServer:包含执行GET和HEAD请求的SimpleHTTPRequestHandler类;
3)CGIHTTPServer:包含处理POST请求和执行的CGIHTTPRequestHandler类。

python 最简单的web服务器如下图所示:


如此便可以访问服务器中的内容


例如直接访问下面的html页面,结果如下:


hello.html存放于服务器根目录下,代码如下:

<meta http-equiv=&#39;Content-Type&#39; content=&#39;text/html; charset=UTF-8&#39;>
<html><head><title>数据库列表</title></head>
<body>
<form action="/cgi-bin/hello_get.py" method="get">
First Name: <input type="text" name="first_name">  <br />

Last Name: <input type="text" name="last_name" />
<input type="submit" value="Submit" />
</form>
</body></html>

在hello.html文件里面链接了一个hello_get.py,该文件存放于服务器根目录下的cgi-bin文件夹下,代码如下:

#!/usr/bin/python

# Import modules for CGI handling
import cgi, cgitb

# Create instance of FieldStorage
form = cgi.FieldStorage()

# Get data from fields
first_name = form.getvalue(&#39;first_name&#39;)
last_name  = form.getvalue(&#39;last_name&#39;)

print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Hello - Second CGI Program</title>"
print "</head>"
print "<body>"
print "<h2>Hello %s %s</h2>" % (first_name, last_name)
print "</body>"
print "</html>"

在上一图片中页面中输入信息,点击提交,得到结果如下:


值得注意的是:一开始我做了好久,调用py文件要么显示空白,要么出错。查看了很多网络资源,发现问题是py文件的权限原因,只需要执行chmod 755 XXX.py即可。此外

#!/usr/bin/python之前最好不要有其他信息,反正我发现上方保护如下信息的时候是显示不出来的
&#39;&#39;&#39;
Created on 2015-1-12


@author: root
&#39;&#39;&#39;

我也只是初学者,只能说把我的学习过程分享,避免大家遇到我同样问题而花费大量时间。

【相关推荐】

1. 详解cgi向文本或者数据库写入数据实例代码

2. 分享在IIS上用CGI方式运行Python脚本的实例教程

3. 什么是CGI?详细介绍Python CGI编程

4. 分享一个PythonCGI编程的实例教程

5. 详解XML与现代CGI应用程序的示例代码

6. FastCGI 进程意外退出造成500错误

Atas ialah kandungan terperinci 使用CGI模块建立简单web页面教程实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn