twisted05 简单的http服务器
2015-08-11 10:59
507 查看
from twisted.internet import reactor from twisted.internet.endpoints import serverFromString from twisted.web import http class 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.HTTPChannel http.HTTPChannel.requestFactory = MyRequestFactory serverFromString(reactor,'tcp:88').listen(f) #reactor.listenTCP(80,f) reactor.run()
自定制请求处理,其他的http工厂和http协议分别由HTTPFactory和HTTPChannel来处理。
相关文章推荐
- 网络编程socket之bind、Listen 及 accept
- TCP/IP协议学习之二(网际协议IP)
- 网络推送的简单使用
- TCPClient
- 【Java&Android开源库代码分析】のandroid-async-http の开盘
- json相关转换及httpPost发送
- 7月末周网络安全报告:发现放马站点增至204个
- TCP协议与UDP协议的区别
- TCP/IP协议学习之一(以太网帧格式)
- 互联网金融网络借贷系统架构
- 网络层
- matlab环境下使用libsvm,转自http://apinetree.blog.51cto.com/714152/1560254
- 美国军方在 GitHub 上开源网络战争软件 Dshell
- http请求 Icy-MetaData头
- 使用 Xcode 工具(Network Link Conditioner)模拟网络状态
- 网络通信--TCP
- HTTP POST 网络请求
- 美国军方在GitHub上开源网络战争软件Dshell
- http://www.sitepoint.com/20-docs-guides-front-end-developers-5/
- 黑马程序员——学习日记之网络编程