http_server.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import os
  2. from http.server import BaseHTTPRequestHandler, HTTPServer
  3. html = "<html><body>This is python http server</body></html>"
  4. class ServerHandler(BaseHTTPRequestHandler):
  5. FILE_FW = 'fw.bin'
  6. def do_GET(self):
  7. print('Received GET request')
  8. if self.path == "/" + self.FILE_FW:
  9. with open(self.FILE_FW, 'rb') as file:
  10. file_stat = os.stat(self.FILE_FW)
  11. self.send_response(200)
  12. self.send_header('Content-type', 'text/html')
  13. self.send_header('Content-length', file_stat.st_size)
  14. self.end_headers()
  15. self.wfile.write(file.read())
  16. else:
  17. self.send_error(404, "Page Not Found {}".format(self.path))
  18. def server_thread(port):
  19. server_address = ('localhost', port)
  20. httpd = HTTPServer(server_address, ServerHandler)
  21. try:
  22. httpd.serve_forever()
  23. except KeyboardInterrupt:
  24. httpd.server_close()
  25. print("Server stopped")
  26. def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler):
  27. server_address = ('127.0.0.1', 9000)
  28. httpd = server_class(server_address, handler_class)
  29. try:
  30. httpd.serve_forever()
  31. except KeyboardInterrupt:
  32. httpd.server_name()
  33. if __name__ == '__main__':
  34. run()
  35. # port = 8000
  36. # print("Starting server at port %d" % port)
  37. # server_thread(port)
  38. # test()