PHP get_headers () для генерации файла заголовка - PullRequest
0 голосов
/ 20 сентября 2018

Я работаю над получением кодов ответов для заголовка списка URL.Мне нужно, чтобы вывод был похож на HTTP/1.1 200 OK и т. Д.

Использование cURL - я использовал эту команду curl -s -I https://www.pnc.com | grep HTTP (или) curl -I https://www.pnc.com 2>/dev/null | head -n 1.И я получаю вывод как HTTP/1.1 200 OK.

Используя PHP - я использовал команду get_headers (), чтобы сделать то же самое в PHP.И я получаю вывод как HTTP/1.1 301 Moved Permanently.

Это код, который я использовал.

$line = "https://www.pnc.com";
$myheader = get_headers($line,1);
echo "$myheader[0]";

После запуска я получаю вывод как HTTP/1.1 301 Moved Permanently.Может кто-нибудь дать какие-либо предложения?

1 Ответ

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

Ваш вызов командной строки с использованием 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...