在下载python请求之前获取mp4文件大小

在下载python请求之前获取mp4文件大小,python,python-requests,download,Python,Python Requests,Download,我正在编写一个小脚本,为我的朋友从一些网站下载视频文件,我想在其中添加进度条,但问题是标题中没有“内容长度”。我有这个 size = requests.head(link["link"], headers={'Accept-Encoding': 'identity'}) 我得到的回报是: 'X-Varnish': 'HV116W137', 'Age': '84', 'Vary': 'Accept-Encoding', 'Server': 'Apache', 'Connection': 'kee

我正在编写一个小脚本,为我的朋友从一些网站下载视频文件,我想在其中添加进度条,但问题是标题中没有“内容长度”。我有这个

size = requests.head(link["link"], headers={'Accept-Encoding': 'identity'})
我得到的回报是:

'X-Varnish': 'HV116W137',
'Age': '84',
'Vary': 'Accept-Encoding',
'Server': 'Apache',
'Connection': 'keep-alive', 
'Via': '1.1 varnish', 
'cache-control': 'max-age=60, public, 
's-maxage=300', 
'Date': 'Tue, 22 Dec 2015 17:31:05 GMT', 
'x-frame-options': 'deny', 
'Content-Type': 'text/html; charset=UTF-8'
链接:


我想这是可能的,因为浏览器在下载之前可以知道文件有多大。

浏览器只需发送实际请求,然后读取内容长度标题。您是否尝试过发出GET请求而不是head?您确定
link['link']
是您提供的链接吗?当我试用时,我得到-
content-length':“210919787”
谢谢。所以链接变量一定有问题。@pvg GET请求将开始下载该文件。所以这不是一个选项,因为问题是在下载之前先确定大小。@YohanE我恐怕你们误解了对一个三年前问题的评论。
size = requests.head(link['link']).headers['Content-Length']