原文地址:http://zhouzhk.iteye.com/blog/765884

python的twisted框架中带了一个web server: twisted web。现在看看怎么用。

一)准备工作

1)到 ActiveState网站下载ActivePython2.6.xxx,我用的windows版本,然后双击安装。选择ActivePython因为python网站上下载不了2.6.6了,奇怪;另外不用找easy_install这个python的包管理工具了。

2)安装相关包。打开一个命令行窗口,

执行 easy_install twisted,会自动安装twisted合适的版本;

执行 easy_install zope.interface,会安装twisted依赖的zope.interface包(?前面没有自动安装依赖包);

执行 easy_install pyamf,会安装twisted web和flex通讯用到的pyAMF包

这些安装过程修改了%PATH%环境变量。因此,关闭这个窗口,重新打开一个命令行窗口。

二)启动web server方法一

1) 建立目录 E:\work\test\pyWeb

2) 在目录下建立文件 index.html:

  1. <html>
  2. <body>
  3. Hello World!
  4. </body>
  5. </html>

建立另外一个文件:

  1. <html>
  2. <body>
  3. Test
  4. </body>
  5. </html>

3) 在新的命令行窗口执行 twistd web -n -p 8090  --path E:\work\test\pyWeb

4) 在浏览器访问 http://localhost:8090/;就能看到 Hello World了。http://localhost:8090/test.html就能看到Test了。

如果没有看到,就检查自己的浏览器,是不是设置了代理服务器,而没有把localhost排除掉。

二)启动web server方法二

1)在E:\work\test目录下建立文件server.py

  1. from twisted.application import internet, service
  2. from twisted.web import static, server
  3. resource = static.File("E:/test/pyWeb")
  4. application = service.Application('pyWeb')
  5. site = server.Site(resource)
  6. sc = service.IServiceCollection(application)
  7. tcpserver = internet.TCPServer(8090, site)
  8. tcpserver.setServiceParent(sc)

2) 在新的命令行窗口,cd e:\work\test,执行 twistd -ny server.py

3) 在浏览器访问 http://localhost:8090 就能看到Hello World

三) 启动web server方法三

1)在E:\work\test目录下建立文件server.py

  1. from twisted.internet import reactor
  2. from twisted.web import static, server
  3. resource = static.File("E:/test/pyWeb")
  4. reactor.listenTCP(8090, server.Site(resource))
  5. reactor.run()

2) 在新的命令行窗口,cd e:\work\test,执行python server.py

3) 在浏览器访问 http://localhost:8090 就能看到Hello World

如果E:\work\test\pyWeb还有下级目录,例如test,访问http://localhost:8090/test有什么效果呢? 你会看到这个目录下所有文件的列表。这显然不是我们想要的,那就在这个目录下放一个index.html来屏蔽,也许有其他方法,例如修改twisted.web.static.py中相应的代码。

Python - twisted web 入门学习之一的更多相关文章

  1. 大牛整理最全Python零基础入门学习资料

    大牛整理最全Python零基础入门学习资料 发布时间:『 2017-11-12 11:56 』     帖子类别:『人工智能』  阅读次数:3504 (本文『大牛整理最全Python零基础入门学习资料 ...

  2. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

  3. C、C++、Java到Python,编程入门学习什么语言好?

    摘要:回顾编程语言几十年来的兴衰起伏,似乎也折射了整个信息产业的变迁消亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要. 最近,TIOBE更新了7月的编程语言榜单,常年霸榜的C ...

  4. Python 爬虫如何入门学习?

    "入门"是良好的动机,但是可能作用缓慢.如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习. 另外如果说知识体系里的每一个知识点是图里的点,依 ...

  5. Java Web入门学习(四)Eclipse与Maven、Tomcat整合配置

    Java Web学习(四)Eclipse与Maven整合配置 一.准备工作 1.Tomcat 8.5.15 2.Maven3.5 3.Eclipse Neon.3 Release (4.6.3) 二. ...

  6. Java Web入门学习(四)Eclipse与Maven、Tomcat整合配置 (重整版并解决问题)

    Java Web学习(四)Eclipse与Maven整合配置 (重整版) 一.准备工作 1.Tomcat 8.5.15 2.Maven3.5 3.Eclipse Neon.3 Release (4.6 ...

  7. Java Web入门学习(二) Eclipse的配置

    Java Web学习(二) Eclipse的配置 一.下载Eclipse 1.进入Eclipse官网,进行下载 上图,下载Eclipse IDE for JaveEE Developers 版本,然后 ...

  8. Java Web入门学习(一) STS与Tomcat配置

    Java Web学习(一) STS与Tomcat配置 一.IDE的选择 使用基于Eclipse的STS Ide ,个人感觉挺好用的. 地址:http://spring.io/tools/sts 根据以 ...

  9. Python Mock的入门学习

    一.Mock是什么 Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西.准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象 ...

随机推荐

  1. CSS学习心得2

    CSS样式 链接 a:link - 普通的.未被访问的链接 a:visited - 用户已访问的链接 a:hover - 鼠标指针位于链接的上方 a:active - 链接被点击的时刻 当为链接的不同 ...

  2. C#字节数组转换成字符串

    C#字节数组转换成字符串 如果还想从 System.String 类中找到方法进行字符串和字节数组之间的转换,恐怕你会失望了.为了进行这样的转换,我们不得不借助另一个类:System.Text.Enc ...

  3. 组合suan

    /// 求从数组a[1..n]中任选m个元素的所有组合. /// a[1..n]表示候选集,n为候选集大小,n>=m>0. /// b[1..M]用来存储当前组合中的元素(这里存储的是元素 ...

  4. Sprint(第十天11.23)

  5. HTML特殊转义字符列表

    HTML特殊转义字符列表 最常用的字符实体 显示  说明  实体名称  实体编号   空格       <       小于   <  < >  大于  > > & ...

  6. [linux] 指令记录

    1> 查看linux版本号 lsb_release -a cat /etc/redhat-release

  7. 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

    以下是上述协议的简单介绍:BSD开源协议BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布. 但”为 ...

  8. LTE 测试文档(翻译)

    Testing Documentation 翻译 (如有不当的地方,欢迎指正!)     1 概述   为了测试和验证 ns-3 LTE 模块,文档提供了几个 test suites (集成在 ns- ...

  9. public protect private. 草稿。

    public protect private. 草稿. #include <iostream> #include <thread> #include <memory> ...

  10. Git撤销操作

      撤销操作的相关文章 http://www.linuxidc.com/Linux/2015-06/119350.htm   ——撤销已经修改,但是还没有添加到暂存区的操作: 解决方案: 有两种情形: ...