Php Guzzle使用GET检索不带正文的标题

Php Guzzle使用GET检索不带正文的标题,php,guzzle,Php,Guzzle,我想获取url的响应标题,例如: $client = new \GuzzleHttp\Client(); $response = $client->head('http://example.com/'); echo $response->getStatusCode(); 我无法使用HEAD请求,因为某些web服务器无法识别HEAD请求(有时返回403禁止或内部服务器错误) 有没有什么方法可以不做头部运动,而通过狂饮获得头球 澄清 我只想得到标题,而不是全身反应。假设我想检查一个大文

我想获取url的响应标题,例如:

$client = new \GuzzleHttp\Client();
$response = $client->head('http://example.com/');
echo $response->getStatusCode();
我无法使用
HEAD
请求,因为某些web服务器无法识别HEAD请求(有时返回403禁止或内部服务器错误)

有没有什么方法可以不做头部运动,而通过狂饮获得头球

澄清
我只想得到标题,而不是全身反应。假设我想检查一个大文件的标题,如果我使用get,Guzzle将下载所有文件,我不想这样做,就像benJ说的,你可能会把HTTP动词HEAD与标题请求混淆了。您应该在此请求中使用正确的动词,然后从响应中获取标题。有关GET请求,请参见此工作示例:

$client=new\GuzzleHttp\client();
$response=$client->get('http://example.com/'); // 根据http动词使用方法,例如POST将是->POST('http://example.com/')
$headers=$response->getHeaders();

我认为您可能把HTTP动词HEAD与请求头混淆了。任何Guzzle响应对象都允许您获取响应的标题。嘿,谢谢。我在我原来的帖子里加了一个解释。我不想下载全文,所以我不能使用get@giò因此我认为
->head()
是正确的,而您遇到的问题是其他问题。head请求应该像GET请求一样工作。如果在get请求中使用相同的参数,您确定不会得到403吗?能否尝试将
->head()
替换为
->get()
并检查状态代码?一些旧的web服务器不支持head