自己创建的菜鸟级web框架记录一下
python web 框架
import socket
import threading
import sys
class Httpserver():
def __init__(self,port):
server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(('127.0.0.1',port))
server.listen(100)
self.server=server
def start(self):
while True:
new_client,iport=self.server.accept()
thread=threading.Thread(target=self.handle,args=(new_client,))
thread.setDaemon(True)
thread.start()
self.server.close()
def handle(self,new_client):
recv_data=new_client.recv(4096)
recv_url=recv_data.decode('utf-8').split(' ',2)[1]
with open('static'+recv_url,'rb') as file:
data=file.read()
response_line='HTTP/1.1 200 OK\r\n'
response_header='Server: PWS/1.0\r\n'
response_body=data
response=(response_line+response_header+'\r\n').encode('utf-8')+response_body
new_client.send(response)
def main():
list = sys.argv
if len(list) != 2:
print('启动格式 python xxxx.py port')
return
if not list[1].isdigit():
print('启动格式 python xxxx.py 9000')
return
port=int(list[1])
server = Httpserver(port)
server.start()
print('---------服务器开启--------')
if __name__ == '__main__':
main()