Python通过HTTP下载带有进度条和基本身份验证的文件

2024-09-28 01:23:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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或…)——有什么想法吗?在


Tags: 文件进度条noneurldata参数returndef

热门问题