Получить размер загрузки веб-страницы

У меня есть код, чтобы получить размер веб-страницы.

Проблема с этим кодом в том, что он не возвращает размер страницы, если на сайте есть HTTPS

Как узнать общий размер URL или веб-страницы в php

$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>');

-1

Решение

То, используете ли вы HTTPS или нет, не должно влиять на последующие вызовы curl_getinfo,

Я подозреваю, что проблема здесь в том, что вы не указали, что Curl должен следовать перенаправлениям — получение facebook.com на самом деле возвращает перенаправление 301 в https://facebook.com/, Если вы не скажете Керлу, что он должен следовать за ним, он сдастся после первого запроса. В этом случае, поскольку ответ является просто заголовком перенаправления, тело пусто, следовательно, ваш 0-байтовый размер.

Если вы укажете

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

тогда он будет следовать за редиректом, и вы получите правильный размер файла (182227, по крайней мере для меня).

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector