Curl/Guzzle - 获取没有正文的标题/响应代码

Pet*_*now 2 curl http request guzzle

要获得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);
Run Code Online (Sandbox Code Playgroud)

以下示例与Guzzle作为http库相同:

    $guzzle = new Client();
    $req = $guzzle->createRequest('GET', 'http://www.example.com');
    $result = $guzzle->send($req);

    $status = $result->getStatusCode();
Run Code Online (Sandbox Code Playgroud)

我的目标是在不获取身体的情况下执行卷曲/枪口请求.使用Guzzle的请求是否只会获取状态代码而不会在其他数据上浪费带宽?

小智 9

为了在不下载整个内容的情况下获取响应的状态代码,您应该使用"head"方法:

$client = new \GuzzleHttp\Client();
$response = $client->head('http://example.com/');
echo $response->getStatusCode();
Run Code Online (Sandbox Code Playgroud)