-
Notifications
You must be signed in to change notification settings - Fork 0
/
betterHttpServer.py
44 lines (30 loc) · 1.2 KB
/
betterHttpServer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/python
# This program is released under the terms of the GNU GPL version 3 or any later version.
import http.server
import socketserver
import argparse
parser = argparse.ArgumentParser(
prog = "BetterHttpServer",
description = "Additional functionality to the SimpleHTTPServer Python module to output headers")
parser.add_argument('--header', type=str, default="User-Agent")
parser.add_argument('-p', '--port', type=int, metavar="[0-65536]", default=8000)
parser.add_argument('-a', '--all-Headers', action='store_true')
args = parser.parse_args()
header = args.header
port = args.port
allHeaderFlag = args.all_Headers
class SpecificHandler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
print(self.headers.get(header))
http.server.SimpleHTTPRequestHandler.do_GET(self)
class AllHeadersHandler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
print(self.headers)
http.server.SimpleHTTPRequestHandler.do_GET(self)
if (allHeaderFlag != True):
Handler = SpecificHandler
else:
Handler = AllHeadersHandler
print("Serving HTTP on 0.0.0.0 port {}...".format(port))
httpd = socketserver.TCPServer(("", port), Handler)
httpd.serve_forever()