Pymotw - http.server

查看原文

Python http.server 库提供了写 Web Server 的基础接口。

  • 继承 BaseHTTPRequestHandler 处理请求。
  • 继承的类中,定义 do_GET, do_POST 等方法用于处理 GET, POST 等请求
  • 状态码可通过 self.send_response(200) 设定
  • 响应头可通过 self. send_header('Content-Type', 'application/json') 设定
  • 内容可以通过 self.wfile.write(content) 设定
  • url 可以通过 urllib.parse.urlparse(self.path) 得到解析后的数据
  • 表单需要通过 cgi.FieldStorage(fp=self.rfile, headers=self.headers) 获得解析后的数据
  • 可以通过 class ThreadedHTTPServer(ThreadingMixIn, HTTPServer) 获得多线程的 http server
  • http 错误已经有自动生成响应的逻辑:self.send_error(404)
  • 可使用 python3 -m http.server 8080 开启 built-in http server,root 目录是启动应用时的 cwd.