我正在努力获取网址列表的标头响应代码。我需要输出像 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]";
。有人可以提出任何建议吗?
答案 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);