当前位置:  开发笔记 > 编程语言 > 正文

Python - 使用进度条和基本身份验证通过HTTP下载文件

如何解决《Python-使用进度条和基本身份验证通过HTTP下载文件》经验,为你挑选了1个好方法。

我正在使用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或......) - 任何想法?



1> Ignacio Vazq..:

urlgrabber内置了对进度条,身份验证等的支持.


Ignacio的URI现在(2010-06-25)过时了,更新一个是[urlgrabber](http://linux.duke.edu/urlgrabber/)
推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有