14 |
14 |
15 twice = False |
15 twice = False |
16 if '--twice' in sys.argv: |
16 if '--twice' in sys.argv: |
17 sys.argv.remove('--twice') |
17 sys.argv.remove('--twice') |
18 twice = True |
18 twice = True |
|
19 headeronly = False |
|
20 if '--headeronly' in sys.argv: |
|
21 sys.argv.remove('--headeronly') |
|
22 headeronly = True |
19 |
23 |
20 reasons = {'Not modified': 'Not Modified'} # python 2.4 |
24 reasons = {'Not modified': 'Not Modified'} # python 2.4 |
21 |
25 |
22 tag = None |
26 tag = None |
23 def request(host, path, show): |
27 def request(host, path, show): |
35 show = sorted(h for h, v in response.getheaders() |
39 show = sorted(h for h, v in response.getheaders() |
36 if h.lower() not in show) |
40 if h.lower() not in show) |
37 for h in [h.lower() for h in show]: |
41 for h in [h.lower() for h in show]: |
38 if response.getheader(h, None) is not None: |
42 if response.getheader(h, None) is not None: |
39 print "%s: %s" % (h, response.getheader(h)) |
43 print "%s: %s" % (h, response.getheader(h)) |
|
44 if not headeronly: |
|
45 print |
|
46 data = response.read() |
|
47 sys.stdout.write(data) |
40 |
48 |
41 print |
49 if twice and response.getheader('ETag', None): |
42 data = response.read() |
50 tag = response.getheader('ETag') |
43 sys.stdout.write(data) |
|
44 |
|
45 if twice and response.getheader('ETag', None): |
|
46 tag = response.getheader('ETag') |
|
47 |
51 |
48 return response.status |
52 return response.status |
49 |
53 |
50 status = request(sys.argv[1], sys.argv[2], sys.argv[3:]) |
54 status = request(sys.argv[1], sys.argv[2], sys.argv[3:]) |
51 if twice: |
55 if twice: |