我正在使用urllib.urlretrieve
下载文件,并使用reporthook
参数实现下载进度条.由于urlretrieve
不直接支持身份验证,我想出了
import urllib def urlretrieve_with_basic_auth(url, filename=None, reporthook=None, data=None, username="", password=""): class OpenerWithAuth(urllib.FancyURLopener): def prompt_user_passwd(self, host, realm): return username, password return OpenerWithAuth().retrieve(url, filename, reporthook, data)
这有效 - 但似乎可能有更直接的方法来做到这一点(可能使用urllib2或httplib2或......) - 任何想法?
urlgrabber内置了对进度条,身份验证等的支持.