如何在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。
我想在此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。