文档章节

python3-CGI学习3

彼得雷
 彼得雷
发布于 2016/03/16 22:01
字数 331
阅读 43
收藏 0

        学习3这个版本能与学习2差不多,只是这是来源于Head First Python书上的第九章的例子加上自己的一些改动,实现的功能是把输入栏中上的信息显示出来。首页代码如下:

<!DOCTYPE html>
<html>
<head>
    <title> This is a example </title>
</head>
<body>
    <br />
    <br />
    <form action = "cgi-bin/process-time.py" method="POST">
        <b style="color:#800">Enter a timing value:</b>
        <input type="Text" name="TimeValue" size=40>
        <br />
        <input type = "Submit" value="Send">
    </form>
</body>
</html>

效果图如下:

    这个时候我们还要建一个process-time.py的cgi程序,处理表单的内容,它的代码如下:

#!/usr/bin/env python3
import cgi
import os
import time
import sys


form = cgi.FieldStorage()
addr = os.environ['REMOTE_ADDR']
host = os.environ['REMOTE_HOST']
method = os.environ['REQUEST_METHOD']

cur_time = time.asctime(time.localtime())
print(host + ", " + addr + ", " + cur_time + ": " + method, file=sys.stderr)
for each_form_item in form.keys():
    print(each_form_item + '->' +
          form[each_form_item].value, end='', file=sys.stderr)
print(file=sys.stderr)  # change line
print("Content-Type: text/html")
print("")
print("<html>")
print("<h2>CGI Script Output</h2>")
print("<p>")
print("The user entered data are:<br>")
print("<b>TimeValue:</b> " + form["TimeValue"].value + "<br>")
print("<br />")
print("<span>OK</span>")
print("</p>")
print("</html>")

测试效果:

先打开服务器

python simple_httpd.py

再在网址栏中输入localhost:10000,再在空白栏中输入3.14,按send键,会打开process-time.py处理程序,效果如下:

必须要观看一下现在服务器终端上打印出来的信息,通过引进sys模块中的重定向把输出打印到终端上:

© 著作权归作者所有

上一篇: linux清除指令
下一篇: python-CGI学习2
彼得雷
粉丝 2
博文 154
码字总数 70881
作品 0
厦门
私信 提问
21个Python免豆资料下载地址汇总

为了方便大家学习,小弟最近整理了一批免豆下载的Python资料,共21个,整理了这批资料的下载地址,大家可以根据自己的需要选择性下载。希望大家喜欢~ Python灰帽子中文 http://down.51cto.co...

IT小白白
2012/07/30
219
0
初探Python CGI:搭建CGI编程调试环境

“CGI(Common Gateway Interface,通用网关接口) 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。”(百度百科)Python语言自带CGI处理模块,可以通过编写python ...

SamYjy
2018/12/02
364
0
XAMPP配置mod_python apache 测试正常通过!

httpd.conf 添加一下可以让py程序在cgi-bin目录下运行 AddHandler cgi-script .cgi .py 实际上我们添加了以上内容从新启动apache就可以利用apache编程了,用pyton来做我们的 --kai0200@gmai...

Yamazaki
2012/05/21
22
0
Mac不知道如何用apache服务器打开cgi文件?

最近在学习《python基础教程》,其中有一张是讲用CGI创建动态网页的,我按它的做法写了个cgi文件simpel1.cgi如下: #!/usr/bin/python print 'Content-type:text/plain' print print 'hello......

hyperion000
2015/11/06
216
0
Django 站点部署和管理常用命令

原文:Django 站点部署和管理常用命令 作者:Breaker 通过 The Django Book 学习建立、部署和管理 Django 站点的笔记,内容重点 章节 12:部署 Django Django 与 The Django Book 版本对应关...

晨曦之光
2012/05/23
7.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

VMware vSphere ESXi主机的访问控制

在vShpere中,访问ESXi主机的途径很多,如下: ESXi DCUI ESXi Shell ESXi SSH ESXi Host Client vCenter --> vSphere web client / vSphere Client VMware vSphere ESXi主机的访问控制,除了......

大别阿郎
21分钟前
3
0
大神讲解CGI、FastCGI和PHP-FPM关系图解

参考资料 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM:http://www.nowamagic.net/librarys/veda/detail/1319 php中fastcgi和php-fpm是什么东西:https://www.zybuluo.com/phper/note/50231 ......

网络小虾米
31分钟前
3
0
《DNS攻击防范科普系列3》 -如何保障 DNS 操作安全

引言 前两讲我们介绍了 DNS 相关的攻击类型,以及针对 DDoS 攻击的防范措施。这些都是更底层的知识,有同学就来问能否讲讲和我们的日常操作相关的知识点,今天我们就来说说和我们日常 DNS 操...

Mr_zebra
31分钟前
2
0
zk中ServerCnxn

实现接口Stats, Watcher 内部类 DisconnectReason CloseRequestException EndOfStreamException(流关闭) 属性 方法 getSessionTimeout 获取session失效时间 sendResponse 发送回复数据 se......

writeademo
36分钟前
3
0
如何将 Redis 用于微服务通信的事件存储

来源:Redislabs 作者:Martin Forstner 翻译:Kevin (公众号:中间件小哥) 以我的经验,将某些应用拆分成更小的、松耦合的、可协同工作的独立逻辑业务服务会更易于构建和维护。这些服务(也...

中间件小哥
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部