Как получить `Content-length` ответа php cURL - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь написать простой парсер на php, который может дать мне только длину содержимого html-страницы.На данный момент у меня есть этот код:

$urls = array(
    'http://Link1.com/',
    'http://Link2.com'
);

 $mh = curl_multi_init();     
 $connectionArray = array();
        foreach($urls as $key => $url)
        {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, false);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_multi_add_handle($mh, $ch);
            $connectionArray[$key] = $ch;
        }
        $running = null;
        do
        {
            curl_multi_exec($mh, $running);
        }while($running > 0);

        foreach($connectionArray as $key => $ch)
        {
            $content = curl_multi_getcontent($ch);
            echo $content."<br>";
            curl_multi_remove_handle($mh, $ch);
        }

        curl_multi_close($mh);

Как я могу получить Content-Length из $ content?

1 Ответ

0 голосов
/ 24 сентября 2018

Вы можете использовать curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD), который возвращает:

Длина содержимого загрузки, считывается из Content-Length: поле

В этомВ конкретном случае -1 представляется действительным ответом :

Начиная с 7.19.4, возвращается -1, если размер неизвестен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...