我试图只获得三位数的http状态代码,而在变量$ response中没有更多内容.例如302,404,301,以及什么不是.我注意到我的代码的另一个观察是在一些网站上,例如谷歌它正在下载似乎是身体的一部分,这是一个巨大的浪费带宽和缓慢.
<?php
$URL = 'http://www.google.com';
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $URL);
curl_setopt($curlHandle, CURLOPT_HEADER, true);
$response = curl_exec($curlHandle);
echo $response;
?>
Run Code Online (Sandbox Code Playgroud)
Jer*_*dev 10
您可以将CURLOPT_NOBODY选项设置为不接收正文.然后你可以获得状态代码curl_getinfo.
像这样:
<?php
$URL = 'http://www.google.com';
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $URL);
curl_setopt($curlHandle, CURLOPT_HEADER, true);
curl_setopt($curlHandle, CURLOPT_NOBODY , true); // we don't need body
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
curl_exec($curlHandle);
$response = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);
curl_close($curlHandle); // Don't forget to close the connection
echo $response,"";
?>
Run Code Online (Sandbox Code Playgroud)