要获取curl网站的状态代码,您可以使用CURLOPT NOBODY。
示例:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://www.example.com');
curl_setopt($curl , CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$status = curl_exec($curl);
curl_close($curl);
以下示例与Guzzle作为http库是否相同:
$guzzle = new Client();
$req = $guzzle->createRequest('GET', 'http://www.example.com');
$result = $guzzle->send($req);
$status = $result->getStatusCode();
我的目标是在不获取身体的情况下执行卷曲/枪口请求。使用Guzzle的请求是否只会获取状态代码而不会在其他数据上浪费带宽?
答案 0 :(得分:9)
为了在不下载整个内容的情况下获取响应的状态代码,您应该使用" head"方法:
$client = new \GuzzleHttp\Client();
$response = $client->head('http://example.com/');
echo $response->getStatusCode();