Python CGI编写web程序-加法器

简介: CGI是运行在服务器上的程序,提供客户端HTML页面的接口,它的全称是Common Gateway Interface (通用网关接口)缺点及改进:每次的CGI请求都要生成程序的副本来运行FastCGI-先编译mod_perl-将解释器作为模块集成在web服务器中使用C等编译语言模板引擎jkxy.pyform_type="GET"和form_type="POST"对应于g


CGI是运行在服务器上的程序,提供客户端HTML页面的接口,它的全称是Common Gateway Interface (通用网关接口)


缺点及改进:

每次的CGI请求都要生成程序的副本来运行

FastCGI-先编译

mod_perl-将解释器作为模块集成在web服务器中

使用C等编译语言


模板引擎jkxy.py


form_type="GET"和form_type="POST"对应于get和post请求

def start_response(resp="text/html"):
   return 'Content-type: '+resp+ '\n\n'

def start_form(the_url="",form_type="GET"):
   return '<form action="'+the_url+'"method="'+form_type+'">'

def end_form(submit_msg="Submit"):
   return '<p></p><input type="submit" value="' +submit_msg+'">'

def input_label(name,placeholder="",value="",readonly=None):
   if readonly is None:
      return '<input type="text" value="'+value+'" name="'+name+'" placeholder="'+placeholder+'">'
   else:
      return '<input type="text" value="'+value+'" readonly="'+readonly+'" name="'+name+'" placeholder="'+placeholder+'">'

def context(word):
   return word

def start_div(align,style):
   return '<div align="'+align+'"style="'+style+'">'
def end_div():
   return "</div>"

def img(src):
   return '<img src="'+src+'">'



main.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cgi, cgitb
from jkxy import *

form1 = cgi.FieldStorage() #声明请求参数的一个容器
num1=form1.getvalue("Num1")
num2=form1.getvalue("Num2")
num3=None
if not num1 is None and not num2 is None:
   num1=int(num1)
   num2=int(num2)
   num3=num1+num2

print start_response()
print start_div("center","margin-top:40px;")
print img("../views/add.png")
print end_div()

print start_div("center","margin-top:60px;")
print start_form()
print input_label("Num1","adder-1")
print "+"
print input_label("Num2","adder-2")
print "="
if num3 is None:
   print input_label("Num3","result","","readonly")
else:
   print input_label("Num3","result",str(num3),"readonly")
print end_form()
print end_div()


使用以下命令启动web服务

python -m CGIHTTPServer 8081

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1727166

目录
相关文章
|
26天前
|
安全 测试技术 网络安全
如何在Python Web开发中进行安全测试?
如何在Python Web开发中进行安全测试?
|
26天前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
32 4
|
26天前
|
存储 监控 安全
如何在Python Web开发中确保应用的安全性?
如何在Python Web开发中确保应用的安全性?
|
1天前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
22 6
|
13天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
18天前
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
27 6
|
24天前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
|
24天前
|
存储 人工智能 数据挖掘
Python编程入门:打造你的第一个程序
本文旨在为初学者提供Python编程的初步指导,通过介绍Python语言的基础概念、开发环境的搭建以及一个简单的代码示例,帮助读者快速入门。文章将引导你理解编程思维,学会如何编写、运行和调试Python代码,从而开启编程之旅。
36 2
|
23天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
33 1
|
25天前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API