Python CGI编程和CGIHTTPServer



Python2.7 的CGIHTTPServer可以作为一个简单的HTTP服务器,能够调用cgi脚本

1 在任意目录下创建一个特殊的目录 cgi-bin ,用于存放自己写的脚本(.py或.cgi)

2 在 cgi-bin 所在目录 执行 python -m CGIHTTPServer ,启动服务器

3 在浏览器输入 IP:8000/cgi-bin/xxx.py   即可调用cgi-bin目录下的xxx.py脚本了(Linux可能要更改权限755)



示例1

hello.py

#!/usr/bin/python          #for Linux
# -*- coding: utf-8 -*-

print "Content-type:text/html\r\n\r\n"      #HTTP的header  \r\n\r\n表示头部结束,后面的内容都为body
print ‘‘‘
<html>
<head>
    <title>Hello from Python CGI</title>
</head>
<body>
    <h1>Hello! This is my first CGI program!!!</h1>
</body>
</html>
‘‘‘

Headers
描述
Content-type: 请求的与实体对应的MIME信息。例如: Content-type:text/html
Expires: Date 响应过期的日期和时间
Location: URL 用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
Last-modified: Date 请求资源的最后修改时间
Content-length: N 请求的内容长度
Set-Cookie: String 设置Http Cookie
时间: 2024-08-26 08:50:41

Python CGI编程和CGIHTTPServer的相关文章

Python CGI编程(转自易百)

Python CGI编程 Python的CGI编程,公共网关接口或CGI,Web服务器和一个自定义的脚本之间交换信息是一组定义的标准. 什么是CGI ? 公共网关接口或CGI,Web服务器和一个自定义的脚本之间交换信息是是一组定义的标准.. CGI规范在由NCSA和NCSA定义的CGI保持如下: 公共网关接口或CGI,如HTTP服务器信息服务器的标准接口是外部网关方案. 当前版本CGI/1.1和CGI/1.2. 网页浏览 理解CGI的概念,让我们看看会发生什么,当我们点击一个超链接到浏览特定网页

python cgi 编程

python默认自带了几个和web相关的模块.原来只知道SimpleHTTPServer 这个模块,后来又知道了 CGIHTTPServer 这个模块 SimpleHTTPServer 1 python -m SimpleHTTPServer 80 在命令行里键入上面的命令就有了一个简单的HTTP服务器了,服务器的端口是 80 (也可以是别的,如果80端口被占用了) -m 的意思就是 module,web的根目录是命令行的当前目录  (win7 下 在一个文件夹空白的地方 shift+鼠标右键

Python CGI编程

cgi.FieldStorage() 访问作为web请求一部分发送给web服务器的数据,数据作为一个python字典. CGI是什么? 通用网关接口或CGI,是一组定义信息如何在Web服务器和自定义脚本之间交换的标准. CGI规范目前保持是由NCSA 和 NCSA 维护和定义如下. 通用网关接口或CGI,是外部网关方案,如HTTP服务器的信息服务器的接口标准. 目前的版本是CGI/1.1,而CGI/1.2目前正在定制中. 网页浏览 要了解CGI的概念,让我们看看当点击一个超链接,浏览某一个网页或

Python CGI编程Ⅳ

使用POST方法传递数据 使用POST方法向服务器传递数据是更安全可靠的,像一些敏感信息如用户密码等需要使用POST传输数据. 以下同样是hello_get.py ,它也可以处理浏览器提交的POST表单数据: 以下为表单通过POST方法(method="post")向服务器脚本 hello_get.py 提交数据: 通过CGI程序传递checkbox数据 checkbox用于提交一个或者https://www.xuanhe.net/多个选项数据,HTML代码如下: 以下为 checkb

学习python cgi的一点心得体会

这两天学了python cgi编程,挺好玩的 跟大家分享一下: 目标: 创建一个cgi脚本 接收来访者的参数 步骤: 创建一个cgi服务的根目录(随便创建,然后在终端或者cmd下切换到该目录下) python2.x的httpserver启动:python -m CGIHTTPServer 13333   会启动http server 在13333端口上 python3.x的httpserver启动:python -m http.server --cgi 13333 这个--cgi不可以拿掉 否则

python web编程-CGI帮助web服务器处理客户端编程

这几篇博客均来自python核心编程 如果你有任何疑问,欢迎联系我或者仔细查看这本书的地20章 另外推荐下这本书,希望对学习python的同学有所帮助 概念预热 eb客户端通过url请求web服务器里的静态页面,但是要怎么做到洞察不同用户同的输入?比如说表单提交等来产生不同的返回结果呢 一个简单的思路是web服务器把这些请求提交给另外一个程序,它接受用户输入然后处理,根据输入生成一个静态的html文件交给web服务器 复杂上面这样的流程程序就是CGI,是单独出来的 创建HTML 的CGI 应用程

初试CGI编程--python篇

环境说明 system: Linux luogw-pc 3.5.0-48-generic #72~precise1-Ubuntu SMP Tue Mar 11 20:09:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux apache: (apt-get 安装方式) Server version: Apache/2.2.22 (Ubuntu) Server built:   Apr 17 2014 21:49:25 第一步:确认apache2服务器是否开启了C

吴裕雄--python编程:CGI编程

什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口. 网页浏览 为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程: 1.使用你的浏览器访问URL并连接到HTTP web 服务器. 2.Web服务器接收到请求信息后会解析URL,并查找访问的文件在服务器上是否存在,如果存在返回文件的内容,否则返回错误信

Python网页编程(CGI)

1)程序简单,引用几个关键处理即可: #coding=utf-8 #!/usr/bin/python # CGI处理模块 from os import environ import cgi, cgitb # 创建 FieldStorage 的实例化 form = cgi.FieldStorage() # 获取数据 user_id ="a"; password="b"; first_name = form.getvalue('first_name') last_nam