PHP前端开发

python 编写简单网页服务器

百变鹏仔 3小时前 #Python
文章标签 简单

这篇文章主要介绍了关于python 编写简单网页服务器,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

IDE:Pycharm

sever.py

#!/bin/python#-*- coding: UTF-8 -*-#文件名:server.py#create by wzh 2017/10/26import socket  #导入socket模块import refrom multiprocessing import Process #导入进程模块#设置静态文件根目录HTML_ROOT_DIR='./html'def handle_client(client_socket):  """处理客户端连接请求"""  request_data=client_socket.recv(1024)  print(request_data)  request_lines=request_data.splitlines()  for line in request_lines:    print(line)  #'GET / HTTP/1.1'  request_start_line=request_lines[0].decode("utf-8")  print("*"*10)  print(request_start_line)  #提取用户请求的文件名  file_name=re.match(r"w+ +(/[^ ]*) ",str(request_start_line)).group(1)  if "/" == file_name:    file_name='/index.html'  #打开文件,读取内容  try:    file=open(HTML_ROOT_DIR+file_name,"rb")  except IOError:    response_start_line="HTTP/1.1 404 Not Found"    response_heads="Server: My server"    response_body="The file not found!"  else:    file_data=file.read()    file.close()    response_start_line="HTTP/1.1 200 ok"    response_heads="Server: My server"    response_body=file_data.decode("utf-8")  response=response_start_line+response_heads+""+response_body  print("response data:",response)  client_socket.send(bytes(response,"utf-8"))  client_socket.close()if __name__=="__main__":     #如果直接运行本文件,那么__name__为__main__(此时才运行下面的程序),否则为对应包名  s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 创建socket对象  s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)  #host = socket.gethostname() # 获取本地主机名  port = 1212 #  #print(host)  s.bind(("", port)) # 绑定端口  s.listen(5)  while True:    c,addr=s.accept()  #建立客户端连接    print('连接地址',addr)    handle_client_process=Process(target=handle_client,args=(c,))  #ALT+ENTER快捷键生成函数    handle_client_process.start()    c.close()

index.html

立即学习“Python免费学习笔记(深入)”;

nbsp;html&gt;  <meta>  <title>My Web</title><h1>welcome!</h1><p>这是一个神奇的网站!</p>

运行server.py

在浏览器中输入localhost:1212