Php 如何从Goutte获取响应状态代码

Php 如何从Goutte获取响应状态代码,php,web-crawler,goutte,Php,Web Crawler,Goutte,我用它来解析一些网站 下面是我的代码示例 $goutteClient = new Client(); $response = $goutteClient->setHeader('User-Agent', $userAgent) ->setClient($guzzleClient) ->request('GET', 'https://example.com'); $response是Symfony\Component\domclawler\Crawler 那么,如何获取用于检查

我用它来解析一些网站

下面是我的代码示例

$goutteClient = new Client();
$response = $goutteClient->setHeader('User-Agent', $userAgent)
->setClient($guzzleClient)
->request('GET', 'https://example.com');
$response
Symfony\Component\domclawler\Crawler


那么,如何获取用于检查是否为404错误或任何其他错误的响应状态代码?

$goutteClient->getResponse()
将为您提供最后一个请求的响应对象

完整代码为:

$res = $goutteClient->getResponse();
if ($res->getStatusCode() === 404) {}

$goutteClient->getResponse()
将为您提供最后一个请求的响应对象

完整代码为:

$res = $goutteClient->getResponse();
if ($res->getStatusCode() === 404) {}
它帮助了我

if ($goutteClient->getResponse()->getStatusCode() === 404){}
它帮助了我

if ($goutteClient->getResponse()->getStatusCode() === 404){}

这是行不通的,您需要$status
=
并且getResponse返回一个对象,如果您使用相同的操作符测试它,它将永远不会匹配404。正确的方法是
$res=$GouttClient->getResponse();如果($res->getStatusCode()===404){}
这不起作用,您需要$status
=
并且getResponse返回一个对象,如果您使用相同的操作符测试它,它将永远不会匹配404,正确的方法是
$res=$GouttClient->getResponse();如果($res->getStatusCode()==404){}