【解决】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即可


你可能感兴趣的:(代码,python,httpx,request)