【解决】python获取文件大小,下载进度条报错KeyError: 'content-length'

python3使用request httpx下载文件,获取不到文件大小,response没有content-length header



最简单的排查问题的办法就是用浏览器去下载

如果浏览器在下载时,也不显示总大小,那么说明服务器不支持

HTTP response header中,除了content-length还有Transfer-Encoding:chunked

后者是说,客户端请求的文件服务器是动态生成的,没法预先知道大小

所以没法用content-length,而是用Transfer-Encoding:chunked分块下载

我们可以 print(response.headers) 查看,如果有chunked则无解

如果使用了tqdm进度条,不设置total即可



posted @ 2022-11-24 21:15  云牧青  阅读(354)  评论(0编辑  收藏  举报