Я хочу загрузить файл с URL-адреса http в локальный файл. Файл достаточно большой, поэтому я хочу загрузить его и сохранить кусками, а не read()
и write()
весь файл в виде одной гигантской строки.
Интерфейс urllib.urlretrieve
, по сути, то, что я хочу. Однако я не вижу способа установить заголовки запросов при загрузке через urllib.urlretrieve
, что мне нужно сделать.
Если я использую urllib2
, я могу установить заголовки запросов через его объект Request
. Однако я не вижу API в urllib2
для загрузки файла непосредственно по пути на диске, например urlretrieve
. Похоже, вместо этого мне придется использовать цикл для перебора возвращаемых данных по частям, самостоятельно записывать их в файл и проверять, когда мы закончим.
Как лучше всего создать функцию, которая работает как urllib.urlretrieve
, но позволяет передавать заголовки запросов?