最近学习python,想用python 写一个restful类型的http服务,但是示例中没找到合适的,所以自己写了个,在此记录
代码如下:
# -*- coding:utf-8 -*-
import io
import shutil
from wsgiref.simple_server import BaseHTTPRequestHandler, HTTPServer
class HTTPServerHandler(BaseHTTPRequestHandler):
def _set_headers(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
def do_GET(self):
self._set_headers()
self.wfile.write("SUCCESS")
def do_HEAD(self):
self._set_headers()
return
def do_POST(self):
self._set_headers()
print("in post method")
self.data_string = self.rfile.read(int(self.headers['Content-Length']))
print("POST RECEIVER::", str(self.data_string, "UTF-8"))
self.outputtxt(self, "DO_POST SUCCESS")
return
def outputtxt(self, content):
# 指定返回编码
enc = "UTF-8"
content = content.encode(enc)
f = io.BytesIO()
f.write(content)
f.seek(0)
shutil.copyfileobj(f, self.wfile)
if __name__ == "__main__":
server_address = ('0.0.0.0', 8000)
httpd = HTTPServer(server_address, HTTPServerHandler)
print('Starting httpd...')
httpd.serve_forever()