首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Goutte下载图片

使用Goutte下载图片
EN

Stack Overflow用户
提问于 2014-06-08 15:44:02
回答 1查看 2.3K关注 0票数 1

我必须在请求中使用cookie下载图像。我可以使用file_get_contents (使用stream_context_create)或curl使用传递的cookie。但是如何使用Goutte呢?

代码语言:javascript
复制
use Goutte\Client;

$client = new Client();
$response = $client->request('GET', 'https://www.google.pl/images/srpr/logo11w.png');

我发出了一个GET请求,下一步是什么?

好吧,我想通了:

代码语言:javascript
复制
$client->get('https://www.google.pl/images/srpr/logo11w.png', array('save_to' => __DIR__.'/image.jpg'));
EN

回答 1

Stack Overflow用户

发布于 2014-07-24 04:18:29

使用Goutte 2:

代码语言:javascript
复制
$client = new GuzzleHttp\Client([
    'base_url' => 'https://www.google.pl',
    'defaults' => [
        'cookies' => true,
    ]
]);

$response = $client->post('/login', [
    'body' => [
        'login'    => $login,
        'password' => $password
    ]
]);

$response = $client->get('/images/srpr/logo11w.png');

$image = $response->getBody();

在Goutte 1中,在Composer中添加“Goutte/plugin-cookie”:"~3.1“:

代码语言:javascript
复制
use Guzzle\Http\Client;
use Guzzle\Plugin\Cookie\CookiePlugin;
use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar;

$client = new Client('https://www.google.pl');

$client->addSubscriber(new CookiePlugin(new ArrayCookieJar()));

$response = $client->post('/login', '', array('login' => $login, 'password' => $password))->send();

$response = $client->get('/images/srpr/logo11w.png')->send();

$image = $response->getBody();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24104026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档