首页 >后端开发 >Python教程 >使用CGI模块建立简单web页面教程实例

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

零下一度
零下一度原创
2017-05-19 13:06:492738浏览

最近几天一直在学习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错误

以上是使用CGI模块建立简单web页面教程实例的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn