很多情況下我們會需要一個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服務器是一件很好的事,優點實在很多,大家需要的話不妨試試吧。