Advertisement
rfmonk

web_server.py

Jun 30th, 2014
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.38 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. # python comes with a simple web
  4. # server. You can run it like
  5. # $ python -m SimpleHTTPSServer 7070 <-- or whatever
  6. # access this from localhost:port
  7.  
  8. """ a simple python web server with more control
  9. than python's SimpleHTTPSServer """
  10.  
  11. import argparse
  12. import sys
  13. from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
  14.  
  15. DEFAULT_HOST = '127.0.0.1'
  16. DEFAULT_PORT = 8800
  17.  
  18. class RequestHandler(BaseHTTPRequestHandler):
  19.     """ Custom request handler """
  20.  
  21.     def do_GET(self):
  22.         """ Handler for the GET requests """
  23.         self.send_response(200)
  24.         self.send_header('Content-type', 'text/html')
  25.         self.end_headers()
  26.         self.wfile.write("Hello, this is the server")
  27.  
  28. class CustomHTTPServer(HTTPServer):
  29.     def __init__(self, host, port):
  30.         server_address = (host, port)
  31.         HTTPServer.__init__(self, server_address, RequestHandler)
  32.  
  33.  
  34. def run_server(port):
  35.     try:
  36.         server = CustomHTTPServer(DEFAULT_HOST, port)
  37.         print "Custom HTTP server started on port: %s" % port
  38.         server.serve_forever()
  39.     except Exception, err:
  40.         print "Error:%s" %err
  41.     except KeyboardInterrupt:
  42.         print "Server interrupted and is shutting down..."
  43.         server.socket.close()
  44.  
  45. if __name__ == "__main__":
  46.     parser =argparse.ArgumentParser(description='Simple HTTP Server')
  47.     parser.add_argument('--port', action="store", dest="port", type=int, default=DEFAULT_PORT)
  48.     given_args = parser.parse_args()
  49.     port = given_args.port
  50.     run_server(port)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement