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即可