从不支持HEAD的HTTP服务器检索远程文件大小的最快方法是什么?

时间:2015-08-14 02:18:59

标签: python-2.7 http pycurl

我正在尝试使用PycURL从HTTP站点下载1000个可能非常大(几GB)的文件。

在我决定检查部分下载之前,一切都在游动,所以尝试使用我在此论坛上找到的信息来尝试获取Content-Length。一旦我意识到它总是返回179.0,我查看了响应并发现179.0似乎是“你为什么不首先检查你正在做什么得到支持?”的长度。响应。

>>> c.setopt(c.RANGE, "NULL")
>>> c.setopt(c.HEADER,1)
>>> c.setopt(c.NOBODY,1)
>>> c.perform()
HTTP/1.1 501 Not Implemented
Date: Fri, 14 Aug 2015 02:00:35 GMT
Server: Apache-Coyote/1.1
Pragma: no-cache
DataServiceVersion: 1.0
Content-Type: application/xml
Content-Length: 179

第二次尝试获得大小,我尝试使用RANGE。范围在服务器上运行,但运行建议的0-0似乎非常慢。

>>> c.setopt(c.RANGE, "0-0")
>>> c.setopt(c.HEADER,1)
>>> c.setopt(c.NOBODY,0)
>>> c.perform()
HTTP/1.1 206 Partial Content
Date: Fri, 14 Aug 2015 02:05:15 GMT
Server: Apache-Coyote/1.1
Pragma: no-cache
Accept-Ranges: bytes
Content-Disposition: inline; filename="foo.zip"
Content-Range: bytes 0-0/2278939680

我不需要坚持使用PycURL来查找尺寸,但我确实需要速度。

N.B。我正在使用Python 2.7

0 个答案:

没有答案