web-dev-qa-db-fra.com

Comment envoyer des cookies avec Guzzlehttp / guzzle 6?

Je dois envoyer une demande avec des cookies personnalisés.

J'avais encore des problèmes, je ne sais pas comment faire ça ..

Merci!

23
steve
use GuzzleHttp\Cookie\CookieJar;

$cookieJar = CookieJar::fromArray([
    'cookie_name' => 'cookie_value'
], 'example.com');

$client->request('GET', '/get', ['cookies' => $cookieJar]);

Vous pouvez lire la documentation ici .

30
Federkun

Guzzle peut maintenir une session de cookies pour vous s'il vous est demandé d'utiliser l'option de demande de cookies. Lors de l'envoi d'une demande, l'option cookies doit être définie sur une instance de GuzzleHttp\Cookie\CookieJarInterface.

// Use a specific cookie jar
$jar = new \GuzzleHttp\Cookie\CookieJar;
$r = $client->request('GET', 'http://httpbin.org/cookies', [
    'cookies' => $jar
]);

Vous pouvez définir les cookies sur true dans un constructeur client si vous souhaitez utiliser un fichier cookie partagé pour toutes les demandes.

// Use a shared client cookie jar
$client = new \GuzzleHttp\Client(['cookies' => true]);
$r = $client->request('GET', 'http://httpbin.org/cookies');

Vérifiez également l'intégralité quickstart .

1
insign