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.