获取网页的下载大小
Get download size of the webpage
我有获取网页大小的代码。
此代码的问题是,如果网站有 HTTPS,它不会返回页面大小
如何在php
中获取URL或网页的总大小
$url = 'facebook.com';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$subject = curl_exec($curl);
print("Download size: " . curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD) .'<br>');
无论您是否使用 HTTPS,都不应该影响对 curl_getinfo
.
的任何 follow-up 调用
我怀疑这里的问题是您没有指定 Curl 应该遵循重定向 - 实际上获取 facebook.com
returns 301 重定向到 https://facebook.com/
。除非您告诉 Curl 它应该跟随它,否则它会在第一个请求后放弃。在这种情况下,因为响应只是重定向 header,body 为空,因此您的大小为 0 字节。
如果您指定
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
然后它将跟随重定向,您将获得正确的文件大小(至少对我来说是 182227)。
我有获取网页大小的代码。
此代码的问题是,如果网站有 HTTPS,它不会返回页面大小
如何在php
中获取URL或网页的总大小$url = 'facebook.com';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$subject = curl_exec($curl);
print("Download size: " . curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD) .'<br>');
无论您是否使用 HTTPS,都不应该影响对 curl_getinfo
.
我怀疑这里的问题是您没有指定 Curl 应该遵循重定向 - 实际上获取 facebook.com
returns 301 重定向到 https://facebook.com/
。除非您告诉 Curl 它应该跟随它,否则它会在第一个请求后放弃。在这种情况下,因为响应只是重定向 header,body 为空,因此您的大小为 0 字节。
如果您指定
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
然后它将跟随重定向,您将获得正确的文件大小(至少对我来说是 182227)。