如何在Goutte中下载图片

how to download image in Goutte

我想在此page中下载一张图片。图片来源为http://i2.pixiv.net/c/600x600/img-master/img/2015/01/19/12/17/13/48258889_p0_master1200.jpg。我试着用这个下载它:

$client = new Goutte\Client ();
$client->getClient->get($img_url, array('save_to' => $img_url_save_name));

但是我失败了,然后我意识到如果我直接访问http://i2.pixiv.net/c/600x600/img-master/img/2015/01/19/12/17/13/48258889_p0_master1200.jpg,我被CDN nginx服务器拒绝了。我必须在 'www.pixv.net' 页面中访问此图像 link,这意味着我的图像请求引用是 'www.pixv.net'。如何在 Goutte 中执行此操作?

我得到了答案:

        $client->getClient()->get($img_url, ['save_to' => $img_url_save_name,
            'headers'=>['Referer'=>$src]
            ]);

其实我可以在Goutte\Client中设置header Referer,但是没有提供图片保存路径的选项。所以我最终改用了 Guzzle Client。