My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 操作系统 > 服务器 > Web服务器
使用Twisted实现一个简单Web服务器
作者:未知 时间:2005-09-13 17:32 出处:ChinaUnix.net 责编:My FAQ
              摘要:使用Twisted实现一个简单Web服务器

我的原文发在Python版,这里也发一个,好增加点Python版的人气。希望支持。下面是原文:

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

自己实现Web服务器的优点就不用说太多了,主要是能控制具体的实现。也能按照自己的习惯实现互动方式。 
而Twisted在tcp以下是C写的,ip和udp部分应该是C和Python的混合产物,而http smtp等则是Python的,自己能很好的扩充。 
下面来看个具体的例子: 
首先你需要编辑一个html为结尾的文件名放到你的htm目录下。 
然后在htm的上一级目录建立一个文件,文件名为web.py,内容如下: 
代码: 
[code:1:79fbd7e444]
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( ) 
 
[/code:1:79fbd7e444]
在控制台下进入目录输入 python web.py,然后打开浏览器,输入http://127.0.0.1,看到你的站点了吗?

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有