如何只知道URL,就能在Internet上获取文件大小

Ole*_*lov 2 python http file download

我想在下载之前获取http:// ..文件的大小.我不知道如何使用http请求.

谢谢!

Uku*_*kit 13

import urllib2
f = urllib2.urlopen("http://your-url")
size= f.headers["Content-Length"]
print size
Run Code Online (Sandbox Code Playgroud)

  • HTTP HEAD是更好的选择.所以你不需要下载有效载荷. (4认同)

obe*_*tie 10

HTTP HEAD方法的发明为这样的场景(想知道关于并不获取响应本身的响应数据).如果服务器返回Content-Length头(并支持HEAD),那么您可以通过查看返回的Content-Length来找出文件的大小(以八位字节为单位).


小智 5

这里有完整的答案:

import urllib2
f = urllib2.urlopen ("http://your-url")
if "Content-Length" in f.headers:
    size = int (f.headers["Content-Length"])
else:
    size = len (f.read ());
print size
Run Code Online (Sandbox Code Playgroud)