import httplib, re
con=httplib.HTTPConnection('www.sitename.ru:80')
print 'Start...'
def download_post(types = 'srt', range1 = 1, range2 = 5):
useragent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/6.0.437.3 Safari/534.1'
headers={'Content-Type':'application/x-www-form-urlencoded', 'User-Agent':useragent}
for i in range(range1, range2):
print types, i
body=types+'='+str(i)
con.request('POST', '/base.php', body, headers)
temp=con.getresponse()
data=temp.read()
req = re.findall('windows',data)
if req:
print 'no data'
continue
else:
filename=types+'/'+str(i)+'.rar'
f = open(filename,'wb')
#print data
f.write(data)
f.close()
download_post('srt', 1, 6000)
В частности есть 2 проблемы:
1 есть архивы составные, которые не могут найти свои части т.к. в данном коде у меня все переименовывается в 1-6000.rar Т.е. я не знаю как получить имя файла
2 И основная проблема это в символах конца строк когда я писал файлы f = open(filename,'w') вообще всё было плохо т.к. в конце строки добавлялся CR LF. Когда я начал писать f = open(filename,'wb') полегчало, но как оказалось есть архивы внутри которых в конце строки ставятся CR и LF а в моём двоичном писании они не ставятся. В итоге разница в 5 байт и невозможность даже восстановить архив.
Вообще возможно ли как то сразу копировать файл без всяких open и записи?
Httplib пользуюсь т.к. прямого доступа к файлам нет и приходится посылать форму.