Python urllib2和openers帮助-如何仅读取1个远程文件

Python urllib2和openers帮助-如何仅读取1个远程文件,python,urllib2,Python,Urllib2,我试图从内容提供商处下载内容,该提供商每次访问文档都会向我收费。我编写的代码正确地下载了内容并将其保存在本地文件中,但显然它请求了两次该文件,我被双重收费。我不确定两次请求文件的位置,以下是我的代码: password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() # Add the username and password. password_mgr.add_password(None, top_lev

我试图从内容提供商处下载内容,该提供商每次访问文档都会向我收费。我编写的代码正确地下载了内容并将其保存在本地文件中,但显然它请求了两次该文件,我被双重收费。我不确定两次请求文件的位置,以下是我的代码:

    password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()        
    # Add the username and password.
    password_mgr.add_password(None, top_level_url, username, password)        
    handler = urllib2.HTTPBasicAuthHandler(password_mgr)        
    # create "opener" (OpenerDirector instance)
    opener = urllib2.build_opener(handler)        
    # use the opener to fetch a URL
    file_stream = opener.open(url)        

    # Open our local file for writing
    local_file = open(directory + doc_name, "w+")
    #Write to our local file
    local_file.write(file_stream.read())
我需要弄清楚如何在只请求一次文档的情况下阅读内容。任何帮助都将不胜感激。

可能是因为它请求了两次文件,但只下载了一次吗?第一个请求是一个普通GET(没有“授权”头),然后是一个HTTP 401响应(需要授权),然后是具有授权头的相同请求

如果是这样的话,你应该和你的内容提供商谈谈,因为你只访问过一次