Python 自带就能 run,方便测试端口和映射是否能 work。
import http.server
import socketserver
import argparse
class DemoHandler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
if self.path == '/':
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(b'Hello, World! This is a demo app.')
elif self.path == '/about':
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(b'This is a simple demo application.')
else:
super().do_GET()
def run(port):
with socketserver.TCPServer(("", port), DemoHandler) as httpd:
print(f"Serving at port {port}")
httpd.serve_forever()
def main():
= argparse.ArgumentParser(description='Run the demo app on a specified port.')
parser '--port', type=int, default=8000, help='Port to run the server on')
parser.add_argument(= parser.parse_args()
args
run(args.port)
if __name__ == '__main__':
main()