PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 来自Goutte的Guzzle回应大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从Goutte访问Guzzle Response对象.因为该对象具有我想要使用的好方法.以getEffectiveUrl为例.

据我所知,如果不破解代码,就无法做到这一点.

或者没有访问响应对象,有没有办法获取最后重定向的URL froum goutte?

有点晚了,但是:

如果您只想获取上次重定向到的URL,您可以这样做

$client = new Goutte\Client();
$crawler = $client->request('GET','http://www.example.com');
$url = $client->getHistory()->current()->getUri();

编辑:

但是,扩展Goutte以满足您的需求是相当容易的.您所需要的只是覆盖createResponse()方法并存储GuzzleResponse

namespace Your\Name\Space;

class Client extends \Goutte\Client
{
    protected $guzzleResponse;

    protected function createResponse(\Guzzle\http\message\Response $responsE)
    {
        $this->guzzleResponse = $response;

        return parent::createResponse($responsE);
    }

    /**
     * @return \Guzzle\http\message\Response
     */
    public function getGuzzleResponse()
    {
        return $this->guzzleResponse;
    }
}

然后,您可以根据需要访问响应对象

$client = new Your\Name\Space\Client();
$crawler = $client->request('GET','http://localhost/redirect');
$response = $client->getGuzzleResponse();

echo $response->getEffectiveUrl();

大佬总结

以上是大佬教程为你收集整理的php – 来自Goutte的Guzzle回应全部内容,希望文章能够帮你解决php – 来自Goutte的Guzzle回应所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。