Python - twisted web 入门学习之一
原文地址: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:
- <html>
- <body>
- Hello World!
- </body>
- </html>
建立另外一个文件:
- <html>
- <body>
- Test
- </body>
- </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
- from twisted.application import internet, service
- from twisted.web import static, server
- resource = static.File("E:/test/pyWeb")
- application = service.Application('pyWeb')
- site = server.Site(resource)
- sc = service.IServiceCollection(application)
- tcpserver = internet.TCPServer(8090, site)
- 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
- from twisted.internet import reactor
- from twisted.web import static, server
- resource = static.File("E:/test/pyWeb")
- reactor.listenTCP(8090, server.Site(resource))
- 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 入门学习之一的更多相关文章
- 大牛整理最全Python零基础入门学习资料
大牛整理最全Python零基础入门学习资料 发布时间:『 2017-11-12 11:56 』 帖子类别:『人工智能』 阅读次数:3504 (本文『大牛整理最全Python零基础入门学习资料 ...
- 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解
PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...
- C、C++、Java到Python,编程入门学习什么语言好?
摘要:回顾编程语言几十年来的兴衰起伏,似乎也折射了整个信息产业的变迁消亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要. 最近,TIOBE更新了7月的编程语言榜单,常年霸榜的C ...
- Python 爬虫如何入门学习?
"入门"是良好的动机,但是可能作用缓慢.如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习. 另外如果说知识体系里的每一个知识点是图里的点,依 ...
- 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) 二. ...
- Java Web入门学习(四)Eclipse与Maven、Tomcat整合配置 (重整版并解决问题)
Java Web学习(四)Eclipse与Maven整合配置 (重整版) 一.准备工作 1.Tomcat 8.5.15 2.Maven3.5 3.Eclipse Neon.3 Release (4.6 ...
- Java Web入门学习(二) Eclipse的配置
Java Web学习(二) Eclipse的配置 一.下载Eclipse 1.进入Eclipse官网,进行下载 上图,下载Eclipse IDE for JaveEE Developers 版本,然后 ...
- Java Web入门学习(一) STS与Tomcat配置
Java Web学习(一) STS与Tomcat配置 一.IDE的选择 使用基于Eclipse的STS Ide ,个人感觉挺好用的. 地址:http://spring.io/tools/sts 根据以 ...
- Python Mock的入门学习
一.Mock是什么 Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西.准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象 ...
随机推荐
- freemaker时间格式转换,精确到毫秒
在开发中,需要将时间以 2016-09-20 12:00:01:723 的形式里用freemaker展示在页面上,找了好久,终于找到了答案. "createTime":" ...
- Qual F&Q
[1]长按power键,下面有四个选项可以选择户外,静音,振动标准四种模式 GlobalActions.java->createDialog(): if (!mHasVibrator) { mS ...
- dubbo(转载)
1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需 ...
- Android runtime Exception 整理
一般面试中java Exception(runtimeException )是必会被问到的问题 常见的异常列出四五种,是基本要求.更多的....需要注意积累了 常见的几种如下: NullPoi ...
- php 5.3新增的闭包语法介绍function() use() {}
* 下面提到的代码在PHP5.3以上版本运行通过. */function callback($callback) { $callback();}//输出: This is a anonymous fu ...
- dsp28377控制DM9000收发数据——第三版程序,通过外部引脚触发来实现中断接受数据,优化掉帧现象
//-------------------------------------------------------------------------------------------- - //D ...
- 办公大楼3D指纹门禁系统解决方案
随着人们对工作.生活的自动化水平也提出了越来越高的要求.以大楼安保对出入大楼的外来人员进行登记放行或以铁锁.钥匙和卡为代表的出入管理方式已无法满足需求. 利用科技的手段,实现办公大楼的安全现代化.管理 ...
- 移动端web开发基础概念
最近在了解移动端web开发的相关知识,有些概念总是模糊不清,这次花费了一些时间整体的梳理了一遍. 分辨率 分辨率可以从显示分辨率与图像分辨率两个方向来分类.显示分辨率(屏幕分辨率)是屏幕图像的精密度, ...
- eclipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3解决方案
pom文件提示信息: Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.4.3 from http:/ ...
- GitHUb 代码提交遇到的问题以及解决办法
git 添加代码出现以下错误: fatal: Unable to create 'F:/wamp/www/ThinkPhpStudy/.git/index.lock': File exists. If ...