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 に答える