import socket
def main():
#创建tcp套接字
t_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#设置端口复用
t_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)
#绑定端口
t_socket.bind(("",9000))
#监听
t_socket.listen(100)
while True:
#接受客户端连接
new_socket,ip_port = t_socket.accept()
recv_data=new_socket.recv(4000)
if len(recv_data) == 0:
print("浏览器关闭")
new_socket.close()
return
#解码二进制
recv_content = recv_data.decode("utf-8")
print(recv_content)
#指定分割字符串,最大分割次数2
request_list = recv_content.split(" ", maxsplit=2)
#获取请求资源路径
request_path = request_list[1]
print(request_path)
#判断是否根目录,返回首页
if request_path == "/":
request_path = "/index.html"
with open(request_path, "rb") as file:
file_data = file.read()
response_line = "HTTP/1.1 200 0K \r\n"
response_header = "Server: PWS1.0 \r\n"
response_body = file_data
response_data = (response_line + response_header + "\r\n").encode("utf-8")+response_body
new_socket.send(response_data)
#关闭套接字
new_socket.close()
if __name__=='__main__':
main()
静态Web服务器返回指定页面数据
最新推荐文章于 2024-06-14 15:58:22 发布