Php 获取网页的下载大小
我有获取网页大小的代码 此代码的问题是,如果站点有HTTPS,它不会返回页面大小 如何在php中获取URL或网页的总大小Php 获取网页的下载大小,php,curl,web,webpage,Php,Curl,Web,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($c
$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>');
$url='facebook.com';
$curl=curl\u init($url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);
$subject=curl\u exec($curl);
打印(“下载大小:.curl\u getinfo($curl,CURLINFO\u size\u Download)。”
);
您是否使用HTTPS不应影响对curl\u getinfo
的任何后续调用
我怀疑这里的问题是您没有指定Curl应该遵循重定向-fetchingfacebook.com
实际上返回一个301重定向到https://facebook.com/
。除非你告诉Curl它应该跟随它,否则它会在第一次请求后放弃。在这种情况下,因为响应只是一个重定向头,所以主体是空的,因此是0字节大小
如果您指定
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
然后它将跟随重定向,您将获得正确的文件大小(至少对我来说是182227)。$url=''$curl=curl\u init($url);curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE)$主题=curl\u exec($curl)//获取页面打印的下载大小(“下载大小:“.curl\u getinfo($curl,CURLINFO\u size\u download”);不确定还要添加什么-您的代码对我来说很好。可能需要检查您的服务器是否确实具有HTTP和HTTPS流量的出站网络访问权限。您可以通过调用
echo curl\u error($curl)
Thank You.获得更多信息。。它在服务器上工作正常,我的本地主机出了问题