Я использую 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 или ...) - есть идеи?