Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python文件下载返回零大小_Python_Selenium_Download_Urllib2 - Fatal编程技术网

Python文件下载返回零大小

Python文件下载返回零大小,python,selenium,download,urllib2,Python,Selenium,Download,Urllib2,我正在尝试使用urllib2制作一个脚本,用Python自动获取文件。我已经通过NTLM进行了身份验证,正在尝试从一个生成不同字符串unicode下载链接的页面下载加密/压缩文件。脚本的一部分被编辑,因为这是供企业使用的,但文本似乎都是准确的。到目前为止,我的剧本是: def dlFiles(dlLink): print "-----------------------" counter = 0 fileName = [] for item in dlLink

我正在尝试使用urllib2制作一个脚本,用Python自动获取文件。我已经通过NTLM进行了身份验证,正在尝试从一个生成不同字符串unicode下载链接的页面下载加密/压缩文件。脚本的一部分被编辑,因为这是供企业使用的,但文本似乎都是准确的。到目前为止,我的剧本是:

def dlFiles(dlLink):

    print "-----------------------"
    counter = 0
    fileName = []

    for item in dlLink:
        try:
            url = "constructed download URL"
            f = urllib2.urlopen(url)
            m = re.search("filename\*=utf-8\'\'(.*)", str(f.info()['Content-Disposition']))
            fileName.append(m.groups()[0])
            print "Downloading " + str(fileName[counter])
            #print f.info()

            with open(os.path.basename(fileName[counter]), "wb") as local_file:
                local_file.write(f.read())

        except HTTPError, e:
            print "HTTP Error:", e.code, url

        except URLError, e:
            print "URL Error:", e.reason, url

        counter += 1

    return fileName
返回的标题为:

Date: Thu, 17 Jul 2014 19:09:45 GMT
Server: Apache
Content-Disposition: attachment; filename*=utf-8''redacted.zip
Content-Length: 0
Connection: close
Content-Type: application/x-download
X-Proxy-Host: redacted
如您所见,内容长度列为0。当我通过Chrome下载一个0内容长度的头文件时,我得到了相同的头文件结果,这导致没有文件被下载,只是适当命名,将空文件保存到磁盘上。考虑到这可能是一个重定向问题,我尝试使用请求库,但得到了相同的结果


这可能与代理主机有关吗?通过Selenium处理任何可能发生的重定向是否更可行?欢迎提供所有提示。谢谢

如果你不能用Chrome下载Selenium,它将不会有任何帮助。这似乎是服务器的问题,而不是你的代码的问题。我可以用chrome下载该文件,但chrome中的标题也显示了0内容长度。该文件会在头文件中接收到文件名,但在chrome开发者工具中,从页面记录的流量为0kB。空文件没有多大用处。这听起来像是服务器问题。