我正在使用简单的代码:
import urllib2
response = urllib2.urlopen("http://www.mysite.com/getfile/4355")
output = open('myfile.zip','wb')
output.write(response.read())
output.close()
Web 服务器是 IIS + ASP.NET MVC 4 它返回 FileResult 包装一个带有“application/octet-stream”内容类型的 zip 文件。
问题是下载的 zip 文件损坏了 - 只有 4.1kB 大小,它必须是 24kB。当我直接在网络浏览器中输入网址时 - 它下载并打开正常。
您能否建议我的 Python 代码有什么问题?
编辑
尝试了其他两种方法 - 结果相同。
import urllib
urllib.urlretrieve(url, targetFile)
h = httplib2.Http(".cache")
response, content = h.request(url)
with open(targetFile, 'wb') as f:
f.write(content)