3
if sys.version_info.major == 2:
4
from SimpleHTTPServer import SimpleHTTPRequestHandler
5
from BaseHTTPServer import HTTPServer
7
from http.server import SimpleHTTPRequestHandler
8
from http.server import HTTPServer
11
class LoggingHTTPRequestHandler(SimpleHTTPRequestHandler):
12
def log_request(self, code='-', size='-'):
14
Log an accepted request along with user-agent string.
17
user_agent = self.headers.get("user-agent")
18
self.log_message('"%s" %s %s (%s)',
19
self.requestline, str(code), str(size), user_agent)
22
def run(address, port,
23
HandlerClass=LoggingHTTPRequestHandler, ServerClass=HTTPServer):
25
server = ServerClass((address, port), HandlerClass)
26
sys.stderr.write("Serving HTTP on %s:%s\n" % (address, port))
27
server.serve_forever()
28
except KeyboardInterrupt:
32
if __name__ == '__main__':
34
if len(sys.argv) == 3:
36
port = int(sys.argv[2])
37
elif len(sys.argv) == 2:
39
port = int(sys.argv[1])
41
sys.stderr.write("Expect [address] port\n")
43
run(address=address, port=port)