虽然我不认为这是可能的,但这是一种获取页面大小而不下载它的方法吗?(这看起来很傻但无论如何我想在这里问它)
你可以卷曲页面并获得它的大小,但我不想对页面进行调整,而且文本/ html标题中没有任何有趣内容。
答案 0 :(得分:4)
从页眉中查询Content-Length
属性。
由Section 14.13 of the Hypertext Transfer Protocol Documentation定义。
答案 1 :(得分:3)
使用HEAD
HTTP方法代替GET
:
HEAD方法与GET相同,只是服务器不能在响应中返回消息体。响应HEAD请求的HTTP头中包含的元信息应该与响应GET请求时发送的信息相同。 此方法可用于获取有关请求所隐含的实体的元信息,而无需转移实体主体本身。
答案 2 :(得分: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转到页面,然后看看页面的大小(纯文本)是什么