我有以下 python 代码:
import urllib2
DIR = '/home/aaron/Desktop/aaron-file/media/'
LOC = DIR+'/'+bounty.title+'.mp3'
u = urllib2.urlopen(url, 'rb')
localFile = open(LOC, 'wb')
localFile.write(u.read())
localFile.close()
u.close()
它只创建小文件(大约 60kb 文件),文件正常运行接受突然停止。当我从 firefox 下载(复制并粘贴相同的 url)时,我得到了完整大小的文件(大约 2mb)。
我正在运行 32 位 ubuntu。
更新: 我认为 http 内容长度不准确可能是个问题。那我怎么会忽略/设置不同的长度。
谢谢。
请您参考如下方法:
也许您正在下载的服务器拒绝 urllib2 默认用户代理。考虑使用伪造的用户代理 header 构建自定义开启器,如下所示:
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
并使用 opener() 而不是 urllib2.urlopen()
