一个简单的http server,处理get和post请求,Python实现

x33g5p2x  于2022-01-05 转载在 Python  
字(0.9k)|赞(0)|评价(0)|浏览(721)

一个简单的http server,能处理来自客户的get请求,以及post请求,Python实现。因为只是测试http服务器,代码只是把每次请求的数据打印出来,并返回一个响应ok的字符串。

  1. from http.server import HTTPServer, BaseHTTPRequestHandler
  2. import json
  3. data = {'result': 'HTTP SERVER OK'}
  4. host = ('localhost', 19999)
  5. class My_Server(BaseHTTPRequestHandler):
  6. def do_GET(self):
  7. self.send_response(200)
  8. # 发给请求客户端的响应数据
  9. self.send_header('Content-type', 'application/json')
  10. self.end_headers()
  11. self.wfile.write(json.dumps(data).encode())
  12. def do_POST(self):
  13. self.send_response(200)
  14. datas = self.rfile.read(int(self.headers['content-length']))
  15. print('headers', self.headers)
  16. print("-->> post:", self.path, self.client_address)
  17. print(datas)
  18. # 发给请求客户端的响应数据
  19. self.send_header('Content-type', 'application/json')
  20. self.end_headers()
  21. self.wfile.write(json.dumps(data).encode())
  22. if __name__ == '__main__':
  23. server = HTTPServer(host, My_Server)
  24. print("server启动@ : %s:%s" % host)
  25. server.serve_forever()

相关文章