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对象 ...
随机推荐
- 第一代intel核显id:0046的10.9驱动安装详解(转)
一代0046 intel核显hd1000m 10.8的驱动已经失效了,开不了QE/CI的 从tonymac找来的驱动,并完善一下 直接上驱动啦 安装步骤务必按照顺序进行,不然是驱动不起来的 第一步:首 ...
- ORACLE常用SQL优化hint语句
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...
- iOS常见面试题
一.为什么要在主线程中更新UI,这样做有什么好处? UIKit中的大部分类都不是“线程安全”的,为了解决这个线程不安全的问题,苹果推荐所有应用程序的UI操作都在主线程中执行,这样就不会出现多个线程同时 ...
- centos7 docker redis
docker run --name=redistmp -ti centos /bin/bash yum -y install gcc tcl make cd /home wget http://dow ...
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
以下是上述协议的简单介绍:BSD开源协议BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布. 但”为 ...
- 理解RESTful
REST全称为Representational State Transfer,可以翻译为“表现状态转换”,是由是Roy Thomas Fielding在他2000年的博士论文中提出的,目的是为了得到一 ...
- 基本shell命令使用笔记
linux常用命令: (ls:列出目录内容) -a/-all 列出所有文件,包括隐藏文件 -l 使用长格式显示详细信息,包括rwx (mkdir:建立目录) -p/-parents 若要建立目录的上层 ...
- CSS3中的伪类选择器详解
类选择器和伪类选择器区别 类选择器我们可以随意起名,而伪类选择器是CSS中已经定义好的选择器,不可以随意起名. 伪类选择器以及伪元素 我们把它放到这里 p.aaas{ text-align: le ...
- Distributed Databases and Data Mining: Class timetable
Course textbooks Text 1: M. T. Oszu and P. Valduriez, Principles of Distributed Database Systems, 2n ...
- Oracle之常见问题诊断方法
Oracle认证:常见问题诊断方法如下: 1.TNS-12154 Error 或ORA-12154 特征:SQL*NET没有找到连接串或别名 原因1:(1)没有找到TNSNAMES.ORA文件,该文件 ...