建立server服务端:

from wsgiref.simple_server import make_server
import time
def f1(request):
return [b'<h1>hello,Abook!</h1>']
def f2(request):
return [b'<h1>hello,Aweb!</h1>'] def cunrrent_time(request):
cur_time = time.ctime(time.time())
f=open('cunrrent_time.html','rb')
data=f.read()
data=str(data,'utf8').replace("!cur_time!",str(cur_time))
return [data.encode('utf8')]
#return [data]
def routers(): #封装一个元组可以根据点击的URL路径比配到相对应的函数
urlpatterns=(
('/book',f1),
('/web',f2),
('/time', cunrrent_time),
)
return urlpatterns def applicattion(environ,start_response):
#通过environ封装程一个所有请求信息的对象
#start_response可以很方便的设置响应头
#print("envire",environ)
#print("environ",environ['PATH_INFO'])
start_response('200 OK',[('Content-Types','textl/html'),('contex','text')])
path=environ['PATH_INFO'];#请求返回的路径
urlpatterns = routers()
func = None
for item in urlpatterns: #遍历循环找出和请求路径一样的地址
if item[0] == path:
func = item[1]
break if func:
return func(environ)
else:
return ['<h1>404!</h1>'.encode('utf8')]
#封装soket对象以及准备过程(socket,bind,listen)
http=make_server('',8080,applicattion)
print('Serving HTTP on port 8000....')
http.serve_forever()

cunrrent_time文件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h11>cunrrent_time:!cur_time!</h11>
</body>
</html>

浏览器请求:

Wsgi的web框架实例的更多相关文章

  1. python学习之路web框架

    WEB框架的本质 python的WEB框架分为两大类: 1.自己写socket,自己处理请求 2.基于wsgi(Web Server Gateway Interface WEB服务网关接口),自己处理 ...

  2. Web框架本质及第一个Django实例 Web框架

    Web框架本质及第一个Django实例   Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...

  3. 使用Python开发轻量级的Web框架以及基于WSGI的服务器来实现一个网站页面

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目说明 二丶数据准备 三丶使用网络TCP开发一个基于WSGI协议的Web服务器 四丶使用python3开发一个轻量级的 ...

  4. [Python之路] 实现简易HTTP服务器与MINI WEB框架(利用WSGI实现服务器与框架解耦)

    本文描述如果简单实现自定义Web服务器与自定义简易框架,并且不断进行版本迭代,从而清晰的展现服务器与Web框架之间是如何结合.如何配合工作的.以及WSGI是什么. 本文帖的代码有点多,但基本每次迭代修 ...

  5. 利用python web框架django实现py-faster-rcnn demo实例

    操作系统.编程环境及其他: window7  cpu  python2.7  pycharm5.0  django1.8x 说明:本blog是上一篇blog(http://www.cnblogs.co ...

  6. Web框架本质及第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  7. WEB框架本质和第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 总的来说:Web框架的本质就是浏览 ...

  8. Django之Web框架本质及第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  9. [py]彻底细究web框架的wsgi+逻辑处理模块

    wsgi逻辑结构初探 参考: 这里图很精彩,wsgi写的不错 web框架 = wsgi+逻辑处理app 接收请求,返回对应的内容 python wsgiref实现了wsgi规范. from wsgir ...

随机推荐

  1. mysql之 sysbench0.4.12数据库性能测试

    1. 常用选项 在Shell中运行以下命令便可得到sysbench的常用选项信息: sysbench --help 上述命令的输出信息如下图所示: 1.1 使用语法 使用sysbench时,可以通过以 ...

  2. split与re.split/捕获分组和非捕获分组/startswith和endswith和fnmatch/finditer 笔记

    split()对字符串进行划分: >>> a = 'a b c d' >>> a.split(' ') ['a', 'b', 'c', 'd'] 复杂一些可以使用r ...

  3. 【MySQL】批量数据循环插入

    双重循环插入 DELIMITER ;; CREATE PROCEDURE test_insert() BEGIN ; ; ) DO -- repeat ; -- select a; ) DO ); ; ...

  4. 弄清SDI显示工程中的每一个信号,每一个逻辑

    弄清SDI显示工程中的每一个信号,每一个逻辑 1. FIFO外部逻辑控制 FIFO的读和写在不同的时钟域,所以读和写的控制逻辑应当分开写在不同的两个always块语句中. 2.播出端复位信号的产生 : ...

  5. PHP代码实现2 [从变量和数据的角度] 1

    PHP代码实现2 [从变量和数据的角度] 1 数据类型 1.静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在<编译>(compile-time)确定的, 也就是说在运行 ...

  6. MinGW与Cygwin的一些杂谈

    引用:http://www.cnblogs.com/fancybit/archive/2012/07/08/2581590.html 首先MingW和cygwin都可以用来跨平台开发.  MinGW是 ...

  7. Excel技巧--漏斗图让转化率直观明了

    当要实现如上图那样表现转化率等漏斗形图表时,可以这么做: 1.选择表格,点击“插入”-->“二维条形图”-->堆积条形图类型: 2.点击选中图表,点击”设计“-->“选择数据”: 将 ...

  8. OpenEXR的采样机制

    OpenEXR的输出机制是无损的,这样做会受到部分低配置电脑存储及运算带宽的限制. 当前有很多针对图像的压缩算法来解决这个问题,OpenEXR另外提供了WRITE_YC这种存储方式,这种方式会将RGB ...

  9. Android adb 模拟滑动 按键 点击事件

    模拟事件全部是通过input命令来实现的,首先看一下input命令的使用: usage: input ... input text <string>       input keyeven ...

  10. PHP $a='abcdef';请取出$a的值并打印第一个字母

    echo $a[0];echo $a{0};echo chr(ord($a));echo substr( $a, 0,1);