Ваш вызов командной строки с использованием curl следует перенаправлению 301 и затем возвращает заголовки перенаправленной страницы.Для более надежного подхода с использованием curl из PHP я предлагаю вам использовать вариант моего ответа здесь:
Может ли PHP cURL получить заголовки и тело ответа в одном запросе?
Если вы хотите прозрачно следовать перенаправлению, как делает curl в командной строке, установите параметр curl CURLOPT_FOLLOWLOCATION
, например:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
Поскольку тело вас не интересует, отключитеопция обратного перевода, например:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
Если вы хотите выполнить запрос HEAD
, установите также следующую опцию:
curl_setopt($ch, CURLOPT_NOBODY, true);