I'm using urllib.urlretrieve
to download a file, and implementing a download progress bar using the reporthook
parameter. Since urlretrieve
doesn't directly support authentication, I came up with
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)
This works -- but it seems like there might be a more direct way to do this (maybe with urllib2 or httplib2 or...) --any ideas?