wsgiref模块

wsgiref模块

from wsgiref.simple_server import make_server

def index(env):
    return 'index'
def login(env):
    return 'login'
def error(env):
    return '404 error'
urls = [
    ('/index',index),
    ('/login',login),
]
def run(env,response):
    # print(env) 大字典 wsgiref模块帮你处理好http格式的数据 封装成了字典让你更加方便操作
    response('200 OK', []) #响应首行 响应头
    current_path =env.get('PATH_INFO')
    # if current_path =='/index/':
    #     return(b'index heiheihei')
    # elif current_path =='/login':
    #     return (b'login')
    # return [b'404 error']
    '''定义一个变量 存储匹配到的函数名'''
    func = None
    for url in urls:
        if current_path == url[0]:
            #讲url对应函数赋值给func
            func = url[1]
            break #匹配到一个之后 应该立刻结束for循环
    #判断func 是否有值
    if func:
        res =func(env)
    else:
        res = error(env)

    return [res.encode('utf-8')]



if __name__ == '__main__':
    server = make_server('127.0.0.1',8080,run)
    server.serve_forever() #启动服务端
    # 实时监听127.0.0.1 8080地址 只要有客户端来了 都会交给run函数处理
posted @ 2021-08-10 09:38  Aisa  阅读(85)  评论(0)    收藏  举报