web-dev-qa-db-ja.com

Guzzlehttp / guzzle 6でCookieを送信するにはどうすればよいですか?

カスタムCookieでリクエストを送信する必要があります。

私はまだいくつかの問題を抱えていた、それを行う方法がわからない..

ありがとうございました!

23
steve
use GuzzleHttp\Cookie\CookieJar;

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

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

ドキュメントを読むことができます こちら

30
Federkun

Guzzleは、Cookie要求オプションを使用して指示された場合、Cookieセッションを維持できます。リクエストを送信する場合、cookiesオプションはGuzzleHttp\Cookie\CookieJarInterfaceのインスタンスに設定する必要があります。

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

すべての要求に共有cookie jarを使用する場合、クライアントコンストラクターでcookieをtrueに設定できます。

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

完全な quickstart も確認してください。

1
insign