首页 > 代码库 > python超简单的web服务器
python超简单的web服务器
今天无意google时看见,心里突然想说,python做web服务器,用不用这么简单啊,看来是我大惊小怪了.
web1.py
1 2 3 | #!/usr/bin/python import SimpleHTTPServer SimpleHTTPServer.test() |
web2.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #!/usr/bin/python import SimpleHTTPServer import SocketServer import os PORT = 80 WEBDIR = "f:/python语言学习" class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler): def translate_path(self, path): os.chdir(WEBDIR) return SimpleHTTPServer.SimpleHTTPRequestHandler.translate_path(self,path) try: httpd = SocketServer.TCPServer(("", PORT), Handler) print "dir %s serving at port %s"%(repr(WEBDIR), PORT) httpd.serve_forever() except:pass |
web3.py , cgi server ,7777端口, 在web3.py执行目录下新建cgi-bin目录 , 在cgi-bin目录写hello.py
web3.py
1 2 3 4 5 | from CGIHTTPServer import CGIHTTPRequestHandler from BaseHTTPServer import HTTPServer server_address=(‘‘,7777) httpd = HTTPServer(server_address, CGIHTTPRequestHandler) httpd.serve_forever() |
hello.py
1 2 3 4 5 6 7 8 | #!c:/Python24/python.exe print "HTTP/1.0 200 OK" print "Content-Type: text/html" print "" print "<p>" print "Hello World!" print "</p>" |
以下这些是需要安装了 twisted 才能使用的
web4.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from twisted.web.resource import Resource from twisted.web import server from twisted.web import static from twisted.internet import reactor class ReStructured( Resource ): def __init__( self, filename, *a ): self.rst = open( filename ).read( ) def render( self, request ): return self.rst PORT=8888 resource = static.File(‘/‘) resource.processors = { ‘.html‘ : ReStructured } resource.indexNames = [ ‘index.html‘] reactor.listenTCP( PORT, server.Site( resource ) ) reactor.run( ) |
web5.py, 这是又是支持cgi的,又是需要twisted模块的,也是需要在cgi-bin目录下执行,上边的hello.py也能用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # -*- coding: utf-8 -*- from twisted.internet import reactor from twisted.web import static, server, twcgi from twisted.web.resource import Resource class Collection(Resource): def render_GET(self, request): return "hello world 你好" root = static.File(‘./‘) root.putChild(‘‘, Collection()) root.putChild(‘img‘, static.File(‘./img‘)) root.putChild(‘cgi-bin‘, twcgi.CGIDirectory(‘cgi-bin‘)) reactor.listenTCP(80, server.Site(root)) reactor.run() |
当然,想实现复杂功能还是需要自己搞代码的,只不过想惊叹python的模块集成得太多功能了.
python超简单的web服务器。
python超简单的web服务器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。