PHP get_headers()生成头文件

时间:2018-09-19 22:58:48

标签: php html curl

我正在努力获取网址列表的标头响应代码。我需要输出像 mpl_toolkits.__path__.append('/usr/lib/pymodules/python2.7/mpl_toolkits/') from mpl_toolkits.basemap import Basemap 等。

使用cURL-我使用了此命令HTTP/1.1 200 OK(或)curl -s -I https://www.pnc.com | grep HTTP。而且,我得到的输出为curl -I https://www.pnc.com 2>/dev/null | head -n 1

使用PHP-我使用get_headers()命令在PHP中执行相同的操作。我得到的输出为HTTP/1.1 200 OK

这是我使用的代码。

HTTP/1.1 301 Moved Permanently

运行此命令后,输出为$line = "https://www.pnc.com"; $myheader = get_headers($line,1); echo "$myheader[0]"; 。有人可以提出任何建议吗?

1 个答案:

答案 0 :(得分:0)

您使用curl进行的命令行调用遵循301重定向,然后返回重定向页面的标题。对于使用PHP的curl的更可靠的方法,建议您在这里使用我的答案的变体:

Can PHP cURL retrieve response headers AND body in a single request?

如果您希望像在命令行上执行curl一样透明地遵循重定向,请设置curl选项CURLOPT_FOLLOWLOCATION,例如:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

由于您对身体不感兴趣,因此请关闭回程转移选项,即:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

如果您希望执行HEAD请求,请同时设置以下选项:

curl_setopt($ch, CURLOPT_NOBODY, true);