我正在寻找从 http url 下载文件到本地文件。该文件足够大,我想下载它并将其保存为块,而不是read()
将write()
整个文件保存为一个巨大的字符串。
的界面urllib.urlretrieve
本质上就是我想要的。但是,我看不到通过 下载时设置请求标头的方法 urllib.urlretrieve
,这是我需要做的事情。
如果我使用,我可以通过它的对象urllib2
设置请求头。Request
但是,我没有看到将urllib2
文件直接下载到磁盘上的路径(如urlretrieve
. 相反,我似乎将不得不使用循环来迭代返回的数据块,自己将它们写入文件并检查我们何时完成。
urllib.urlretrieve
构建一个可以工作但允许传入请求标头的函数的最佳方法是什么?