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){}