原文地址: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. JAVA经典算法40题(供面试所用)

    [程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:   兔子的规律为数 ...

  2. boldSystemFontOfSize 和 systemFontOfSize 的区别

    使用 UIFont 的下列方法: + systemFontOfSize + boldSystemFontOfSize + italicSystemFontOfSize p.p1 { margin: 0 ...

  3. php变量赋值给js

    1 2 3 4 5 6 7 8 $(document).ready(function(){                 <?php $f="'name'"?>    ...

  4. 使用Gson转换json数据为Java对象的一个例子

    记录工作中碰到的一个内容. 原料是微信平台的一个接口json数据. { "errcode" : 0, "errmsg" : "ok", &q ...

  5. 使用Maven JGit-Flow Plugin

    git flow 请参考 http://www.ituring.com.cn/article/56870 2.开始使用插件,在pom.xml中添加以下代码: https://bitbucket.org ...

  6. NodeJS 初体验

    console.log('%s: %d', 'Hello', 25);  // 可以像C语言格式一样输出//app.jsvar http = require('http');http.createSe ...

  7. php使用PDO连接mysql数据库

    <?php $dsn='mysql:host=localhost;dbname=mssc'; $user='root'; $password=''; $status=1; try { $sql= ...

  8. 使用自定义标签模拟jstl的<c:for each>标签

    一.自定义标签的基本编写 下面编写一个自定义标签,它可以输出当前的时间. 1.编写标签类 类可以通过继承SimpleTagSupport类实现一个标签类编写.父类为我们提供了一些编写自定义标签的快捷的 ...

  9. ubuntu 编译源码坏境配置

    git checkout -b newlocal origin/q01v31source build/envsetup.shlunch msm8916_32-usermake -j4 make -j4 ...

  10. spring-boot 之 使用Admin监控应用

    https://yq.aliyun.com/articles/2322 ************************************* 摘要: Spring Boot提供的监控接口,例如: ...