Python 2.7 基于twisted实现简单的web服务器

Python 2.7自带的SimpleHTTPServer默认是HTTP/1.0,导致在投放简单的视频的时候,一般是无法通过FFMPEG进行播放的,主要是HTTP/1.0不支持Content-Range导致无法快进以及视频的Seek操作。并且比较悲剧的是,如该修改成HTTP/1.1协议,默认只有一个连接在处理,导致只要第一个用户不断开,第二个连接基本上连接不上。

网上搜索了以下,找到了用twisted代码来实现比较简单,并且性能还不错的服务器。

本文实例讲述了Python基于twisted实现简单的web服务器,分享给大家供大家参考。具体方法如下:
1.首先是通过PIP安装twisted

$ sudo pip install twisted

2. 新建htm文件夹,在这个文件夹中放入显示的网页文件

3. 在htm文件夹的同级目录下,建立web.py,代码如下:

from twisted.web.resource import Resource 
from twisted.web import server 
from twisted.web import static 
from twisted.internet import reactor 
  
PORT = 1234
  
######################################################################## 
class ReStructed(Resource): 
  """"""
  
  #---------------------------------------------------------------------- 
  def __init__(self, filename, *a): 
    """Constructor"""
    self.rst = open(filename).read() 
  def render(self, request): 
    return self.rst 
    
resource = static.File('htm/') 
resource.processors = {'.html':ReStructed} 
resource.indexNames = ['index.html'] 
  
reactor.listenTCP(PORT, server.Site(resource)) 
reactor.run()

执行脚本

$ python web.py

然后浏览器访问:http://127.0.0.1:1234/就可以看到内容了。

参考链接


Python基于twisted实现简单的web服务器

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注