python快速搭建http

来源:互联网 发布:宁波网络推广经理 编辑:程序博客网 时间:2024/06/01 11:21

在Python下,只需要一个命令行。下面是这个命令行:
python -m SimpleHTTPServer
这就行了,而我们的HTTP服务在8000号端口上侦听。你会得到下面的信息:

Serving HTTP on 0.0.0.0 port 8000 ...
你可以打开你的浏览器(IE或Firefox),然后输入下面的URL:

http://192.168.1.1:8000
如果你的目录下有一个叫 index.html 的文件名的文件,那么这个文件就会成为一个默认页,如果没有这个文件,那么,目录列表就会显示出来。

如果你想改变端口号,你可以使用如下的命令:

python -m SimpleHTTPServer 80

实例:
简单的web服务器:
import SimpleHTTPServer
import SocketServer
import os

PORT = 8800
WEBDIR = "/www"

class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def translate_path(self,path):
os.chdir(WEBDIR)
return SimpleHTTPServer.SimpleHTTPRequestHandler.translate_path(self,path)

try:
#handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("192.168.1.103",PORT),Handler)
print 'dir %s serving at port %s' % (repr(WEBDIR),PORT)
httpd.serve_forever()
except:
pass
可以设置html目录

简单代理服务器:
import SocketServer
import SimpleHTTPServer
import urllib

PORT = 1234

class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
self.copyfile(urllib.urlopen(self.path), self.wfile)

httpd = SocketServer.ForkingTCPServer(('', PORT), Proxy)
print "serving at port", PORT
httpd.serve_forever()
cgi服务器:
cgi server.基本上代码不变,只不过要将handler改成CGIHTTPRequestHandler.
from CGIHTTPServer import CGIHTTPRequestHandler
from BaseHTTPServer import HTTPServer
server_addr = ('192.168.1.103',8000)
httpd = HTTPServer(server_addr,CGIHTTPRequestHandler)
httpd.serve_forever()
这样一来,服务器相当于搞定了.当然我们要看一下怎么显示一个动态页面.动态语言依旧用python,在server的同级目录建一个cgi-bin目录,在这个目录里面建立hello.py:

#!/usr/bin/python
print "HTTP/1.0 200 OK"
print "Content-Type:text/html"
print ""
print ""
print "Hello,world!"
print ""

0 0
原创粉丝点击