python基础(五)——CGI编程
来源:互联网 发布:mac里的照片和相簿 编辑:程序博客网 时间:2024/06/03 13:53
使用python实现get方法和post方法传值,多选按钮,单选按钮、文本编辑区、下拉列表数据的传递,cookie的设置文件上传,文件下载。本文未经整理,仅供参考
#!/usr/bin/python# -*- coding: UTF-8 -*-print "Content-type:text/html"print # 空行,告诉服务器结束头部print '<html>'print '<head>'print '<meta charset="utf-8">'print '<title>Hello Word - 我的第一个 CGI 程序!</title>'print '</head>'print '<body>'print '<h2>Hello Word! 我是来自菜鸟教程的第一CGI程序</h2>'print '</body>'print '</html>'开启httpd服务器后,可以直接把该文件放到网站目录下,浏览器访问会正常显示该页面//网页传值//test.html代码<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body><form action="/cgi-bin/hello_get.py" method="get">站点名称: <input type="text" name="name"> <br />站点 URL: <input type="text" name="url" /><input type="submit" value="提交" /></form></body></html>//hello_get.py代码#!/usr/bin/python# -*- coding: UTF-8 -*-# filename:test.py# CGI处理模块import cgi, cgitb # 创建 FieldStorage 的实例化form = cgi.FieldStorage() # 获取数据site_name = form.getvalue('name')site_url = form.getvalue('url')print "Content-type:text/html"printprint "<html>"print "<head>"print "<meta charset=\"utf-8\">"print "<title>菜鸟教程 CGI 测试实例</title>"print "</head>"print "<body>"print "<h2>%s官网:%s</h2>" % (site_name, site_url)print "</body>"print "</html>"//如果想把上面的get方法修改为post方法,只需要把get改为post,后一种方法更加安全,不会在网址那里显示出密码//传递checkbox数据<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body><form action="/cgi-bin/checkbox.py" method="POST" target="_blank"><input type="checkbox" name="runoob" value="on" /> 菜鸟教程<input type="checkbox" name="google" value="on" /> Google<input type="submit" value="选择站点" /></form></body></html>#!/usr/bin/python# -*- coding: UTF-8 -*-# 引入 CGI 处理模块 import cgi, cgitb # 创建 FieldStorage的实例 form = cgi.FieldStorage() # 接收字段数据if form.getvalue('google'): google_flag = "是"else: google_flag = "否"if form.getvalue('runoob'): runoob_flag = "是"else: runoob_flag = "否"print "Content-type:text/html"printprint "<html>"print "<head>"print "<meta charset=\"utf-8\">"print "<title>菜鸟教程 CGI 测试实例</title>"print "</head>"print "<body>"print "<h2> 菜鸟教程是否选择了 : %s</h2>" % runoob_flagprint "<h2> Google 是否选择了 : %s</h2>" % google_flagprint "</body>"print "</html>"//传递radio数据<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body><form action="/cgi-bin/radiobutton.py" method="post" target="_blank"><input type="radio" name="site" value="runoob" /> 菜鸟教程<input type="radio" name="site" value="google" /> Google<input type="submit" value="提交" /></form></body></html>#!/usr/bin/python# -*- coding: UTF-8 -*-# 引入 CGI 处理模块 import cgi, cgitb # 创建 FieldStorage的实例 form = cgi.FieldStorage() # 接收字段数据if form.getvalue('site'): site = form.getvalue('site')else: site = "提交数据为空"print "Content-type:text/html"printprint "<html>"print "<head>"print "<meta charset=\"utf-8\">"print "<title>菜鸟教程 CGI 测试实例</title>"print "</head>"print "<body>"print "<h2> 选中的网站是 %s</h2>" % siteprint "</body>"print "</html>"//传递Textarea数据<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body><form action="/cgi-bin/textarea.py" method="post" target="_blank"><textarea name="textcontent" cols="40" rows="4">在这里输入内容...</textarea><input type="submit" value="提交" /></form></body></html>#!/usr/bin/python# -*- coding: UTF-8 -*-# 引入 CGI 处理模块 import cgi, cgitb # 创建 FieldStorage的实例 form = cgi.FieldStorage() # 接收字段数据if form.getvalue('textcontent'): text_content = form.getvalue('textcontent')else: text_content = "没有内容"print "Content-type:text/html"printprint "<html>"print "<head>";print "<meta charset=\"utf-8\">"print "<title>菜鸟教程 CGI 测试实例</title>"print "</head>"print "<body>"print "<h2> 输入的内容是:%s</h2>" % text_contentprint "</body>"print "</html>"//传递下拉数据<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body><form action="/cgi-bin/dropdown.py" method="post" target="_blank"><select name="dropdown"><option value="runoob" selected>菜鸟教程</option><option value="google">Google</option></select><input type="submit" value="提交"/></form></body></html>#!/usr/bin/python# -*- coding: UTF-8 -*-# 引入 CGI 处理模块 import cgi, cgitb # 创建 FieldStorage的实例 form = cgi.FieldStorage() # 接收字段数据if form.getvalue('dropdown'): dropdown_value = form.getvalue('dropdown')else: dropdown_value = "没有内容"print "Content-type:text/html"printprint "<html>"print "<head>"print "<meta charset=\"utf-8\">"print "<title>菜鸟教程 CGI 测试实例</title>"print "</head>"print "<body>"print "<h2> 选中的选项是:%s</h2>" % dropdown_valueprint "</body>"print "</html>"//cookie的设置#!/usr/bin/python# -*- coding: UTF-8 -*-# print 'Content-Type: text/html'print 'Set-Cookie: name="菜鸟教程";expires=Wed, 28 Aug 2016 18:30:00 GMT'printprint """<html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <h1>Cookie set OK!</h1> </body></html>"""#!/usr/bin/python# -*- coding: UTF-8 -*-# 导入模块import osimport Cookieprint "Content-type: text/html"printprint """<html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body><h1>读取cookie信息</h1>"""if 'HTTP_COOKIE' in os.environ: cookie_string=os.environ.get('HTTP_COOKIE') c=Cookie.SimpleCookie() c.load(cookie_string) try: data=c['name'].value print "cookie data: "+data+"<br>" except KeyError: print "cookie 没有设置或者已过去<br>"print """</body></html>"""//文件上传<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body> <form enctype="multipart/form-data" action="/cgi-bin/save_file.py" method="post"> <p>选中文件: <input type="file" name="filename" /></p> <p><input type="submit" value="上传" /></p> </form></body></html>#!/usr/bin/python# -*- coding: UTF-8 -*-import cgi, osimport cgitb; cgitb.enable()form = cgi.FieldStorage()# 获取文件名fileitem = form['filename']# 检测文件是否上传if fileitem.filename: # 设置文件路径 fn = os.path.basename(fileitem.filename) //linux和unix系统需要把这句修改为fn = os.path.basename(fileitem.filename.replace("\\", "/" )) open('/tmp/' + fn, 'wb').write(fileitem.file.read()) message = '文件 "' + fn + '" 上传成功'else: message = '文件没有上传'print """\Content-Type: text/html\n<html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body> <p>%s</p></body></html>""" % (message,)//文件下载#!/usr/bin/python# -*- coding: UTF-8 -*-# HTTP 头部print "Content-Disposition: attachment; filename=\"foo.txt\"";print# 打开文件fo = open("foo.txt", "rb")str = fo.read();print str# 关闭文件fo.close()
阅读全文
0 0
- python基础(五)——CGI编程
- Python学习笔记(二)——Python CGI编程
- Python学习笔记(五):CGI编程、SMTP发送邮件(快速入门篇)
- Python基础(五)——循环
- Spark (Python版) 零基础学习笔记(五)—— Spark RDDs编程
- Python新路程(9)CGI编程 CGI配置方法
- Linux CGI编程基础
- Linux CGI编程基础
- Linux CGI编程基础
- [Python网络编程基础]第18章 CGI
- Python CGI编程
- Python CGI编程
- Python网页编程(CGI)
- Python CGI编程
- Python CGI编程
- Python CGI编程
- python CGI编程
- 转:python cgi编程
- supervisor可以用的配置es和kibana
- Mysql的安装配置
- Java DeadLock
- java中的四种线程池
- spring切面切点@Aspect的使用
- python基础(五)——CGI编程
- plsql存储过程以及在java中调用
- AnnotationConfigApplicationContext的register方法
- Js实现页面跳转的几种方式
- linux结构详解
- Android内存泄漏之前因后果
- jquery二级联动下拉菜单
- 花生壳+IIS部署外网项目
- 面试题4:替换空格