我必须在请求中使用cookie下载图像。我可以使用file_get_contents (使用stream_context_create)或curl使用传递的cookie。但是如何使用Goutte呢?
use Goutte\Client;
$client = new Client();
$response = $client->request('GET', 'https://www.google.pl/images/srpr/logo11w.png');我发出了一个GET请求,下一步是什么?
好吧,我想通了:
$client->get('https://www.google.pl/images/srpr/logo11w.png', array('save_to' => __DIR__.'/image.jpg'));发布于 2014-07-24 04:18:29
使用Goutte 2:
$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“:
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();https://stackoverflow.com/questions/24104026
复制相似问题