深入了解一下PYTHON中关于SOCKETSERVER的模块-B
请求多个文件的原型。
这个是最草的情况,就是硬编码到内存中的字符串,
真实的应用还是会转到其它端口处理,或是读到硬盘上的文件吧。
#!/usr/bin/env python from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler import time starttime = time.time() class RequestHandler(BaseHTTPRequestHandler): """Definintion of the request hadnler.""" def _writeheaders(self, doc): """Write the HTTP headers for the document. If there is no documnet, send a 404 error code;""" if doc is None: self.send_response(404) else: self.send_response(200) #Always server up HTML for now. self.send_header('Content-type', 'text/html') self.end_headers() def _getdoc(self, filename): """Handle a request for a document """ global starttime if filename == '/': return """ <HTML><HEAD><TITLE>sample python page</TITLE></HEAD> <BODY> THIS IS A SAMPLE PAGE. </BODY></HTML> """ elif filename == '/stats.html': return """ <HTML><HEAD><TITLE>Status</TITLE></HEAD> <BODY> This server has veen running for %d seconds. </BODY></HTML> """ % int(time.time() - starttime) else: return None def do_HEAD(self): """Handle a request for headers only""" doc = self._getdoc(self.path) self._writeheaders(doc) def do_GET(self): """Handle a request for headers and body""" doc = self._getdoc(self.path) self._writeheaders(doc) if doc is None: self.wfile.write(""" <HTML><HEAD><TITLE>Not found</TITLE></HEAD> <BODY> The requested document '%s' was not found. </BODY></HTML>""" % self.path) else: self.wfile.write(doc) serveraddr = ('',8765) srvr = HTTPServer(serveraddr, RequestHandler) srvr.serve_forever()
深入了解一下PYTHON中关于SOCKETSERVER的模块-B的更多相关文章
- 深入了解一下PYTHON中关于SOCKETSERVER的模块-D
在LINUX上以FORK的方式使用SIMPLEHTTPSERVER. 记得哟,THREADING能在WIN和LINUX上实现,但FORK,不支持WIN的. 除了SIMPLE之外,还有CGI,就不示例啦 ...
- 深入了解一下PYTHON中关于SOCKETSERVER的模块-C
同时处理多个客户端请求,并且为不同的CLIENT开不同的线程处理. 这个东东,就显然实用性稍强了一些.(FORK和THREAD方式均可,但各有应用) #!/usr/bin/env python fro ...
- 深入了解一下PYTHON中关于SOCKETSERVER的模块-A
有了这块知识,应该对各类WEB框架有更好的理解吧..FLASK,DJANGO,WEBPY.... #!/usr/bin/env python from BaseHTTPServer import HT ...
- Python中os和shutil模块实用方法集…
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- Python中os和shutil模块实用方法集锦
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- python中根据字符串导入模块module
python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' date ...
- python中的第三方日志模块logging
基本上每个系统都有自己的日志系统,可以使自己写的,也可以是第三方的.下面来简单介绍一下python中第三方的日志模块,入手还是比较简单的,但是也很容易给自己埋雷. 下面是我参考的资料链接 入手demo ...
- Python中xlrd和xlwt模块使用方法 (python对excel文件的操作)
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xlrd和xlwt模块 xlrd和xlwt模块不是 ...
- python中time、datetime模块的使用
目录 python中time.datetime模块的使用 1.前言 2.time模块 1.时间格式转换图 2.常用方法 3.datetime模块 python中time.datetime模块的使用 1 ...
随机推荐
- c语言中的 %u 什么意思啊?
%d 有符号10进制整数 %i 有符号10进制整数 %o 无符号8进制整数 %u 无符号10进制整数 %x 无符号的16进制数字,并以小写abcdef表示%X 无符号的16进制数字,并以大写ABCDE ...
- python学习笔记--导入tab键自动补全功能的配置
今天开始学习Python,必须配置tab键补全功能 1.首先我们需要查看python的安装路径 [root@abc ~]# python Python 2.6.6 (r266:84292, Jan 2 ...
- hdu2011java
多项式求和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 第一篇:APUE-操作系统IO模型
操作系统IO模型 操作系统IO模型 声明:如下内容是根据APUE和mycat两本著作中关于I/O模式的一些内容加上自己的一些理解整理而成,仅供学习使用. 本节内容 UNIX下可用的五种I/O模型 ...
- PGsql解决时差24H
SELECT sa_ed_time, sa_st_time, case when sa_ed_time > sa_st_time then extract(EPOCH FROM (sa_ed_t ...
- 雷鸟(Thunderbird)收取Gmail出错,收到警告邮件
如题,每次打开thunderbird都会收到以下提醒邮件,后来发现,只要将thunderbird中和google服务有关的插件卸载掉就可以了 We prevented the sign-in atte ...
- Android 设计随便说说之简单实践(模块划分)
上篇随笔随(Android 设计随便说说)便说了一下什么是设计以及设计的原则,这里举一个简单的例子来进一步的说Android设计.我们以应用商店的设计来举例. 在设计之前,需要把握两部分内容,才能使得 ...
- javascript类继承系列一
js中没有提供类(class,抽象类,接口等高级的抽象),可以用new,但new的function的对象,构造器 但在js中可以通过function来模拟类的一些特性function fun_name ...
- SQL通过传递参数方式备份数据库.
存储过程的SQL代码: ALTER PROCEDURE USP_DBBackup ), --存储目录. ) --存储数据库名. AS SET NOCOUNT ON ) select @name = r ...
- 计算从A地出发到各个地方的路径及距离
数据库环境:SQL SERVER 2005 如题,现有bus表数据如下,dstart是起点,dend是终点,distance是两地的距离.