2

我想在这个页面下载一张图片。图片来源是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”页面访问此图片链接,这意味着我的图片请求参考是“www.pixv.net”。如何在 Goutte 中做到这一点?

4

1 回答 1

3

我得到了答案:

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

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

于 2015-05-26T10:33:38.773 回答