Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29314601
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Python/Ruby

2009-02-02 17:03:39

webdir = '.'   # where your HTML files and cgi-bin script directory live
port   = 80    # if 80, else use
import os, sys
from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler #处理CGI程序的

if len(sys.argv) > 1: webdir = sys.argv[1]             # command-line args
if len(sys.argv) > 2: port   = int(sys.argv[2])        # else default ., 80
print 'webdir "%s", port %s' % (webdir, port)

# hack for Windows: os.environ not propagated
# to subprocess by os.popen2, force in-process
if sys.platform[:3] == 'win':
    CGIHTTPRequestHandler.have_popen2 = False
    CGIHTTPRequestHandler.have_popen3 = False          # emulate path after fork
    sys.path.append('cgi-bin')                         # else only adds my dir

os.chdir(webdir)                                       # run in HTML root dir
srvraddr = ("", port)                                  # my hostname, portnumber
srvrobj = HTTPServer(srvraddr, CGIHTTPRequestHandler)
srvrobj.serve_forever( )                                # serve clients till exit
说明:以上代码是摘自于百度空间中一个高手写的程序。
很简单的就可以实现一个解析CGI的HTTPD服务了!如果你在.目录下面新建一个cgi-bin目录
然后在此目录中写一个Test.py文件就可以相当于写了一个ASP啊JSP之类的东西了!
print "Content-Type:text/html"
print
print 'Hello World'
直接在URL中输入:
就可以显示出来:Hello World了!根本就不需要考虑什么用Apache了哦!
上面的代码只是能够实现相当于安装了一个Apache服务器而已的,那真正实现类似于JSP功能的代码就是CGI程序了。所以如果想实现处理客户端提交过来的东西就要这样来实现的:
import cgi
FormOK=0
MyForm=cgi.FieldStorage()
if MyForm.has_key('yourname') and MyForm.has_key('comment'):
    FormOK=1

print "Content-Type:text/html"
print
if FormOK:
    print """

your name is:""",MyForm['yourname'].value,'

'
else:
    print 'ERROR'
通过接收到客户端的数据然后显示出来的!可以实现处理CGI程序的!
[突然发现用PYTHON写CGI比较方便哦!]


阅读(914) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~