很多情况下我们会需要一个web服务器,不过大家可能不懂得方法自己实现,要实现肯定也是可以的,只要好好利用Twisted就行了,方法就在下面。自己实现Web服务器的优点就不用说太多了,主要是能控制具体的实现。也能按照自己的习惯实现互动方式。
而Twisted在tcp以下是C写的,ip和udp部分应该是C和Python的混合产物,而httpsmtp等则是Python的,自己能很好的扩充。
下面来看个具体的例子:
首先你需要编辑一个html为结尾的文件名放到你的htm目录下。
然后在htm的上一级目录建立一个文件,文件名为web.py,内容如下:
代码:
[code:1:79fbd7e444]
PORT=80#这个是80,如果你的端口被占用了,换成其他的
fromtwisted.web.resourceimportResource
fromtwisted.webimportserver
fromtwisted.webimportstatic
fromtwisted.internetimportreactor
classReStructured(Resource):
def__init__(self,filename,*a):
self.rst=open(filename).read()
defrender(self,request):
returnself.rst
resource=static.File('./htm/')
resource.processors={'.html' :ReStructured}
resource.indexNames=['index.html']
reactor.listenTCP(
PORT,
server.Site(resource)
)
reactor.run()
[/code:1:79fbd7e444]
在控制台下进入目录输入pythonweb.py,然后打开浏览器,输入http://127.0.0.1,看到你的站点了吗?
现在试试看如何实现吧,方法和操作都是简单的,大家一步步来就能做到,能够自己实现web服务器是一件很好的事,优点实在很多,大家需要的话不妨试试吧。 |