免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7140 | 回复: 6

使用Twisted实现一个简单Web服务器 [复制链接]

论坛徽章:
0
发表于 2005-09-08 09:28 |显示全部楼层
作者:梅劲松
版权:本文档为MIT授权
运行环境ython 2.3+Twisted的py-23安装版本

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

  1. PORT = 80#这个是80,如果你的端口被占用了,换成其他的                                                                     
  2.                                                             
  3.                                                                                 
  4. from twisted.web.resource import Resource                                       
  5. from twisted.web import server                                                   
  6. from twisted.web import static                                                   
  7. from twisted.internet import reactor
  8.                                                                                                               
  9.                                                       
  10. class ReStructured( Resource ):                                                                                                                                 
  11.   def __init__( self, filename, *a ):                                         
  12.       self.rst = open( filename ).read( )                                                                                                               
  13.                                                                                 
  14.   def render( self, request ):
  15.       return self.rst               
  16.                                                                                 

  17. resource = static.File('./htm/')                                                   
  18. resource.processors = { '.html'  : ReStructured }                              
  19. resource.indexNames = [ 'index.html']                                   
  20.                                                                                 
  21. reactor.listenTCP(                                                               
  22.       PORT,                                                                  
  23.       server.Site( resource )                                                
  24.       )                                                                       
  25. reactor.run( )
复制代码

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

论坛徽章:
0
发表于 2005-09-08 09:36 |显示全部楼层

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

支持下!
qiweixue 该用户已被删除
发表于 2005-09-08 09:38 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2005-09-08 11:06 |显示全部楼层

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

支持!

Twisted还没接触过啊

Python标准库里的SimpleHTTPServer和CGIHTTPServer可以实现简单的web server

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/365606

正在学习CherryPy(a pythonic, object-oriented web development framework),也是个现成的web server,呵呵

论坛徽章:
0
发表于 2005-09-08 14:34 |显示全部楼层

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

因为项目中其他都是twisted写的,所以用这个了。
你觉得你使用的web server有什么优点,能介绍一下吗?

论坛徽章:
0
发表于 2005-09-08 14:37 |显示全部楼层

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

原帖由 "xichen" 发表:
因为项目中其他都是twisted写的,所以用这个了。
你觉得你使用的web server有什么优点,能介绍一下吗?


我也是刚开始学习CherryPy,准备这几天写一个小的应用。现在看了它网站上的tutorial和一些例子。等有些心得了,我写下来与大家交流。

http://www.cherrypy.org/

论坛徽章:
0
发表于 2005-11-11 14:55 |显示全部楼层

有问题

D:pywebserver>python web.py                                                   sys:1: DeprecationWarning: Non-ASCII character 'xd5' in file web.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details                                                                              Traceback (most recent call last):                                                File "web.py", line 4, in ?                                                       from twisted.web.resource import Resource                                                                                                                   ImportError: No module named twisted.web.resource
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP