Я пытаюсь сохранить динамический pdf файл, созданный с веб-сервера, используя модуль python urllib2. Я использую следующий код для получения данных с сервера и для записи этих данных в файл, чтобы сохранить PDF файл на локальном диске.:
import urllib2
import cookielib
theurl = 'https://myweb.com/?pdf&var1=1'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders.append(('Cookie', cookie))
request = urllib2.Request(theurl)
print("... Sending HTTP GET to %s" % theurl)
f = opener.open(request)
data = f.read()
f.close()
opener.close()
FILE = open('report.pdf', "w")
FILE.write(data)
FILE.close()
Этот код работает хорошо, но написанный pdf файл не очень хорошо распознается Adobe Reader. Если я сделаю запрос вручную с помощью firefox, у меня нет проблем с получением файла, и я смогу визуализировать его с проблемами. Сравнивая полученные заголовки http (firefox и urrlib), единственным отличием является поле заголовка HTTP, называемое "Transfer-Encoding = chunked". Это поле получено в firefox, но кажется, что оно не получено, когда я делаю запрос urllib. Любое предложение?