Djiaogo
1 手功写
server = socket.socket()
server.bind(('127.0.0.1',8080))
server.listen(5)
while True:
conn, addr = server.accept()
data = conn.recv(1024)
conn.send(b'HTTP/1.1 200 OK\r\n\r\n')
print(data)
data = data.decode('utf-8')
current_path = data.split('\r\n')[0].split(' ')[1]
if current_path == '/index':
# conn.send(b'<h1>hello baby!</h1>')
with open('01 纯手撸版本对应的html页面.html','rb') as f:
conn.send(f.read())
else:
conn.send(b'404')
conn.close()
wsgire
ef run(env,response):
print(env) # 是个字典类型
# 固定写法
response('200 OK',[]) # 列表里面放的是请求首行的信息,可以不放,但是必须写
# 获取当前用户访问路径
current_path = env.get('PATH_INFO')
# 定义一个函数标志位
func = None
for url_list in urls: # urls:[[],[],[]] url_list:['',func]
if current_path == url_list[0]:
func = url_list[1]
# 结束for循环了
break
if func:
res = func(env)
else:
# 匹配不上 走error
res = error(env)
return [res.encode('utf-8')]
if __name__ == '__main__':
server = make_server('127.0.0.1',8888,run)
server.serve_forever()
Djiao 架构:
浙公网安备 33010602011771号