test
view get-with-headers.py @ 0:e55e3a42c53a
a
author | test |
---|---|
date | Thu Jan 01 00:00:00 1970 +0000 (many years ago) |
parents | |
children |
adding get-with-headers.py adding isolatin % hg serve % hgweb filerevision, html 200 Script output follows
author | test |
---|---|
date | Thu Jan 01 00:00:00 1970 +0000 (many years ago) |
parents | |
children |
rev | line source |
---|---|
test@0 | 1 #!/usr/bin/env python |
test@0 | 2 |
test@0 | 3 __doc__ = """This does HTTP get requests given a host:port and path and returns |
test@0 | 4 a subset of the headers plus the body of the result.""" |
test@0 | 5 |
test@0 | 6 import httplib, sys, re |
test@0 | 7 |
test@0 | 8 try: |
test@0 | 9 import msvcrt, os |
test@0 | 10 msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) |
test@0 | 11 msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY) |
test@0 | 12 except ImportError: |
test@0 | 13 pass |
test@0 | 14 |
test@0 | 15 headers = [h.lower() for h in sys.argv[3:]] |
test@0 | 16 conn = httplib.HTTPConnection(sys.argv[1]) |
test@0 | 17 conn.request("GET", sys.argv[2]) |
test@0 | 18 response = conn.getresponse() |
test@0 | 19 print response.status, response.reason |
test@0 | 20 for h in headers: |
test@0 | 21 if response.getheader(h, None) is not None: |
test@0 | 22 print "%s: %s" % (h, response.getheader(h)) |
test@0 | 23 print |
test@0 | 24 data = response.read() |
test@0 | 25 data = re.sub('\d+ years', 'many years', data) |
test@0 | 26 sys.stdout.write(data) |
test@0 | 27 |
test@0 | 28 if 200 <= response.status <= 299: |
test@0 | 29 sys.exit(0) |
test@0 | 30 sys.exit(1) |