如何在python请求中获取文件大小而不下载它

您肯定使用过下载管理器。他们检测并显示文件的长度而不下载它


我知道我可以这样做:



import requests

resp = requests.get("https://Whereever.user.wants.com/THEFILE.zip")

print(f"your file has {resp.headers['content-length'] \ 1048576}.")

...


但get下载内容(THEFILE)。这样我就可以知道下载后使用的长度。在 python 中下载之前如何做到这一点?


感谢您的详细解答


摇曳的蔷薇
浏览 56回答 1
1回答

慕尼黑8549860

不要使用GET请求,而是HEAD请求:resp = requests.request('HEAD', "https://Whereever.user.wants.com/THEFILE.zip")如果使用HTTP方法请求URL,则 HTTP 方法请求HEAD将返回的标头。在您的情况下,如果 URL 产生大量下载,则请求将读取其标头以获取文件大小,而无需实际下载文件。HEADGETHEADContent-Length
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python