wsgiref web框架
一、web框架基本写法
python服务端:
用socket建立服务端、客户端通信,多线程加载文件
import socket
from threading import Thread
server=socket.socket()
server.bind(('127.0.0.1',8002))
server.listen()
def html(conn):
with open('web.html',mode="rb") as fp:
content=fp.read()
conn.send(content)
conn.close()
def js(conn):
with open('js/js.js',mode="rb") as fp:
content=fp.read()
conn.send(content)
conn.close()
def css(conn):
with open('css/css.css',mode="rb") as fp:
content=fp.read()
conn.send(content)
conn.close()
def img1(conn):
with open('img/wwhm1.jpg',mode="rb") as fp:
content=fp.read()
conn.send(content)
conn.close()
def img2(conn):
with open('img/wwhm2.jpg',mode="rb") as fp:
content=fp.read()
conn.send(content)
conn.close()
urls=[
('/',html),
('/js/js.js',js),
('/css/css.css',css),
('/img/wwhm1.jpg',img1),
('/img/wwhm2.jpg',img2)
]
while True:
conn,addr=server.accept()
res=conn.recv(1024)
print(res)
conn.send(b'HTTP/1.1 200 ok\r\n\r\n') #
path=res.decode('utf-8').split()[1]
for url in urls:
if url[0] == path:
t=Thread(target=url[1],args=(conn,))
t.start()
html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href=