1

虽然我不认为这是可能的,但它是一种无需下载即可获得页面大小的方法吗?(这看起来很愚蠢,但无论如何我想在这里问它)

您可以卷曲页面并获取它的大小,但我不想对页面进行 dl,而且带有 text/html 的标题中也没有什么有趣的。

4

3 回答 3

4

Content-Length从页眉查询属性。

如超文本传输​​协议文档第 14.13 节所定义。

于 2012-09-30T19:24:22.287 回答
3

使用HEADHTTP 方法而不是GET

HEAD 方法与 GET 相同,只是服务器不能在响应中返回消息体。响应 HEAD 请求的 HTTP 标头中包含的元信息应该与响应 GET 请求发送的信息相同。此方法可用于获取有关请求所隐含的实体的元信息,而无需传输实体主体本身。

于 2012-09-30T19:25:23.263 回答
0

即使发出 HEAD 请求也不能保证您将在输出中获得内容长度。自己检查一下:

stream_context_set_default(
    array(
        'http' => array(
            'method' => 'HEAD'
        )
    )
);

var_dump(get_headers("http://www.stackoverflow.com", 1));
var_dump(get_headers("http://www.google.com", 1));
var_dump(get_headers("http://php.net/", 1));

我认为最好的选择仍然是使用 curl 去 dl 页面,然后查看页面的大小(纯文本)是多少

于 2012-09-30T21:58:31.940 回答