python3-CGI学习3

        学习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>

效果图如下:

210211_28Ag_2280056.png

    这个时候我们还要建一个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处理程序,效果如下:

215559_w3RL_2280056.png

215704_1guT_2280056.png

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

215912_M0vD_2280056.png

转载于:https://my.oschina.net/peterlie/blog/638829

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值