项目说明


  1. Python构建基础的web运行环境;
  2. 执行运行,自动弹出默认页面;

import json
from http.server import HTTPServer, SimpleHTTPRequestHandler
import webbrowser

ip = "localhost" # 监听IP,配置项
port = 8800 # 监听端口,配置项
index_url = "http://%s:%d/index.html" % (ip, port) # 监听主页url,配置项


# 创建http server
class GetHttpServer(SimpleHTTPRequestHandler):
protocol_version = "HTTP/1.0"
server_version = "PSHS/0.1"
sys_version = "Python/3.9.x"
target = "./" # 监听目录,配置项

def do_get(self):
if self.path.find("/json/") > 0:
print(self.path)
self.send_response(200)
self.send_header("Content-type", "json")
self.end_headers()
req = {"success": "ok"}
self.wfile.write(req.encode("utf-8"))
else:
SimpleHTTPRequestHandler.do_GET(self)

def do_post(self):
if self.path == "/signin":
print("postmsg recv, path right")
else:
print("postmsg recv, path error")
data = self.rfile.read(int(self.headers["content-length"]))
data = json.loads(data)
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
rspstr = "recv ok, data = "
rspstr += json.dumps(data, ensure_ascii=False)
self.wfile.write(rspstr.encode("utf-8"))


def http_server():
server = HTTPServer((ip, port), GetHttpServer)
try:
# 弹出窗口
webbrowser.open(index_url)
# 输出信息
print("服务器监听地址: ", index_url)
server.serve_forever()
except KeyboardInterrupt:
server.socket.close()


# 执行服务器脚本
http_server()

lockdata Done!