import urllib.request as urllib2 def getRemoteFileSize(url, proxy=None): """ 通过content-length头获取远程文件大小 url - 目标文件URL proxy - 代理 """ opener = urllib2.build_opener() if proxy: if url.lower().startswith('https://'): opener.add_handler(urllib2.ProxyHandler({'https': proxy})) else: opener.add_handler(urllib2.ProxyHandler({'http': proxy})) try: request = urllib2.Request(url) request.get_method = lambda: 'HEAD' response = opener.open(request) response.read() except Exception: return 0 else: # print(response.headers) 请求头文件信息输出 fileSize = dict(response.headers).get('Content-Length', 0) return round(int(fileSize)/1024/1024/1024,2) # 字节变成GB,保留2位小数 url = "文件URL下载地址" getRemoteFileSize(url)
这个使用的是Python读取Head的文件info,截取其中的数据
Content-Length # 文件字节长度
单位是字节,我做了转换成GB的操作,具体有注释,round 保留了2位,会四舍五入。