China Open source community
站内导航:

 
 
 
当前位置: 首页 >> 应用软件 >> 网络相关 >> 使用Twisted实现一个简单Web服务器
 

使用Twisted实现一个简单Web服务器

作者:xichen      来源:chinaunix.net     发表时间:2006-04-07     浏览次数:      字号:    

作者:梅劲松
版权:本文档为MIT授权
运行环境:Python 2.3+Twisted的py-23安装版本

自己实现Web服务器的优点就不用说太多了,主要是能控制具体的实现。也能按照自己的习惯实现互动方式。
而Twisted在tcp以下是C写的,ip和udp部分应该是C和Python的混合产物,而http smtp等则是Python的,自己能很好的扩充。
下面来看个具体的例子:
首先你需要编辑一个html为结尾的文件名放到你的htm目录下。
然后在htm的上一级目录建立一个文件,文件名为web.py,内容如下:


PORT = 80#这个是80,如果你的端口被占用了,换成其他的                                                                     
                                                            
                                                                                
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               
                                                                                

resource = static.File('./htm/')                                                   
resource.processors = { '.html'  : ReStructured }                               
resource.indexNames = [ 'index.html']                                   
                                                                                
reactor.listenTCP(                                                               
      PORT,                                                                   
      server.Site( resource )                                                 
      )                                                                       
reactor.run( ) 

在控制台下进入目录输入 python web.py,然后打开浏览器,输入http://127.0.0.1,看到你的站点了吗?

编辑 webmaster

 
 
 
评论
 
 
发表
 
姓名: QQ:
性别: MSN:
E-mail: 主页:
评分: 1 2 3 4 5
评论内容:
验证码:
  
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  •  
    中国源码网 - WWW.YUANMA.ORG - 中国开放源代码社区