Simple implementation of http service
try:
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
except ImportError:
from http.server import BaseHTTPRequestHandler, HTTPServer
from urllib.parse import urlparse
import json
from server_zt_dns.deal_server_ztc import *
class DemoHttpServer(BaseHTTPRequestHandler):
success = {
"status": "sucess",
"msg": "api接口执行成功"}
fail = {
"status": "fail",
"msg": "api接口执行失败"}
def deal_response(self, data=None):
result = self.success
if not data:
result = dict(result, **data)
resp = json.dumps(result)
self.send_response(200, message="OK")
self.send_header("Content-Type", "application/json")
self.end_headers()
self.wfile.write(resp.encode())
def fail_response(self):
resp = json.dumps(self.fail)
self.send_response(404, message="fail")
self.send_header("Content-Type", "application/json")
self.end_headers()
self.wfile.write(resp.encode())
def do_GET(self):
if 'hello' in self.path:
self.deal_response()
else:
self.fail_response()
def do_POST(self):
content_length = int(self.headers["Content-Length"])
post_data = self.rfile.read(content_length)
post_data = json.loads(post_data.decode())
if 'hello' in self.path:
data = set_dnsserver(post_data)
self.deal_response(data)
else:
self.fail_response()
if __name__ == "__main__":
server = HTTPServer(("localhost", 8008), DemoHttpServer)
print("Server is running, user <Ctrl+C> to srop.")
server.serve_forever()