Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

Получение всех HTTP заголовков страницы

#php #http #curl #http_заголовки


Всем привет. Допустим, есть сайт site.ru. С помощью данного скрипта я могу получить
лишь сам адрес страницы:

if( $curl = curl_init() ) {
curl_setopt($curl,CURLOPT_URL,'http://site.ru');
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_NOBODY,true);
curl_setopt($curl,CURLOPT_HEADER,true);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}


В браузере вижу следующее:

HTTP/1.1 301 Moved Permanently
Date: Sun, 14 May 2017 09:54:15 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://site.ru/
Content-Type: text/html; charset=iso-8859-1


Как получить все заголовки, получаемые в инструментах разработчика (F12->Network)?
(Кто знает расширение для хрома Creative Tester - Live HTTP Headers(логотип круга салатового
цвета) - результат нужен примерно такой же, вернее, нужны только ссылки)

    


Ответы

Ответ 1



Возможно, get_headers():

Ответ 2



$raw_headers = ''; curl_setopt($curl, CURLOPT_HEADERFUNCTION, '__write_header'); public function __write_header($curl, $bytes) { $GLOBALS['raw_headers'] .= $bytes; return strlen($bytes); } CURLOPT_HEADERFUNCTION Callback-функция принимает два параметра. Первым параметром является дескриптор cURL, вторым параметром является строка с записываемыми заголовками. Заголовки должны быть записаны с помощью данной callback-функции. Должна возвратить количество записанных байт. описание взято отсюда

Комментариев нет:

Отправить комментарий