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