-
Notifications
You must be signed in to change notification settings - Fork 0
/
ch20.py
60 lines (41 loc) · 1.27 KB
/
ch20.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from PIL import Image as im
import requests
from pprint import pprint
from requests.auth import HTTPBasicAuth
import zlib
import StringIO
from zipfile import ZipFile
MAX_RANGE = 2123456789
msg = 'esrever ni emankcin wen ruoy si drowssap eht'
password = 'invader'[::-1]
hiding = 1152983631
if __name__ == '__main__':
# valid_offsets = []
# messages = []
# for i in xrange(MAX_RANGE - 2 - len(msg), MAX_RANGE*2):
# print i
# r = requests.get('http://www.pythonchallenge.com/pc/hex/unreal.jpg', headers={'Range': 'bytes={0}-{1}'.format(i, i+1)}, auth=HTTPBasicAuth('butter', 'fly'))
# if r.status_code == 206:
# valid_offsets.append(i)
# messages.append(r.text)
# print r.text
# pprint(messages)
# r = requests.get('http://www.pythonchallenge.com/pc/hex/unreal.jpg', headers={'Range': 'bytes=1152983631-'}, auth=HTTPBasicAuth('butter', 'fly'))
# print r.status_code
# print r.reason
# dat = r.content
# print dat[:100]
# print len(dat)
# f = open('unreal.zip', 'wb')
# f.write(dat)
# f.close()
f = open('unreal.zip', 'rb')
dat = f.read()
f.close()
print dat[:100]
print len(dat)
z = ZipFile(StringIO.StringIO(dat))
print z.namelist()
z.setpassword(password)
z.extractall(path='./ch21_files/')
z.close()