使用GET来无标题地检索标头

时间:2019-06-07 14:17:31

标签: php guzzle

我想获取网址的响应标头,例如:

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

我无法使用HEAD请求,因为某些Web服务器无法识别HEAD请求(有时它们返回403禁止或内部服务器错误)。

是否有任何方法可以在不执行HEAD的情况下获得带有头晕的标题?

澄清

我只想获取标题而不是整个正文响应。想象一下,我想检查一个大文件的标题,如果我使用get,Guzzle将下载所有文件,而我不想要

1 个答案:

答案 0 :(得分:1)

就像benJ所说,您可能会将HTTP动词HEAD与请求标头混淆。您应该在此请求中使用正确的动词,然后从响应中获取标题。请参阅带有GET请求的此工作示例:

$client = new \GuzzleHttp\Client();
$response = $client->get('http://example.com/'); // use the method according to the http verb, e.g. POST will be ->post('http://example.com/')
$headers = $response->getHeaders();