twisted05 简单的http服务器

来源:互联网 发布:百度指数 数据导出 编辑:程序博客网 时间:2024/06/08 13:18
from twisted.internet import reactorfrom twisted.internet.endpoints import serverFromStringfrom twisted.web import httpclass MyRequestFactory(http.Request):res = {'/':'<html><h1>Main page</h1></html>','/demo':'<html><h1>Demo page</h1></html>'}def process(self):self.setHeader('Content-Type', 'text/plain')if self.res.has_key(self.path):self.write(self.res[self.path])self.setHeader('Content-Length',len(self.res[self.path]))else:self.setResponseCode(http.NOT_FOUND)self.write('<h1>Not found, <p>sorry 4 that</p></h1>')#when to be done,call finish()self.finish()if __name__ == '__main__':f = http.HTTPFactory()f.protocol = http.HTTPChannelhttp.HTTPChannel.requestFactory = MyRequestFactoryserverFromString(reactor,'tcp:88').listen(f)#reactor.listenTCP(80,f)reactor.run()
自定制请求处理,其他的http工厂和http协议分别由HTTPFactory和HTTPChannel来处理。


0 0
原创粉丝点击