Jean-Claude Asked:2020-11-18 01:18:32 +0800 CST2020-11-18 01:18:32 +0800 CST 2020-11-18 01:18:32 +0800 CST 如何使用 Guzzle 获取 cookie? 772 我正在尝试掌握 Guzzle 6。我很清楚,他们的网站上有一个简短的文档。那些想要完全使用该库的人必须进入源代码才能使用其他方法。没有俄语或英语的答案,只有如何发送 cookie。 向同事提问 - 如何使用 Guzzle 获取 cookie? 关于 Cookie 的简要Guzzle文档。在github 上分发。 curl 1 个回答 Voted Best Answer Jean-Claude 2020-11-18T14:49:53+08:002020-11-18T14:49:53+08:00 一般来说,我想通了,我只是向不设置 cookie 的域发出请求。 获取 cookie: $client = new \GuzzleHttp\Client([ 'base_uri' => 'http://php.net/', 'cookies' => true ]); $req = $client->request('GET', 'http://php.net/'); var_dump($req->getHeaders()['Set-Cookie']); //0 => string 'COUNTRY=NA%2C91.223.112.255; expires=Sat, 25-Nov-2017 06:43:23 GMT; Max-Age=604800; path=/; domain=.php.net' (length=107) //1 => string 'LAST_NEWS=1510987403; expires=Sun, 18-Nov-2018 06:43:23 GMT; Max-Age=31536000; path=/; domain=.php.net' (length=102) 或者: $jar = new \GuzzleHttp\Cookie\CookieJar; $client = new \GuzzleHttp\Client([ 'base_uri' => 'http://php.net/', ]); $r = $client->request('GET', 'http://php.net/', ['cookies'=> $jar]); var_dump($r->getHeaders()['Set-Cookie']); 发送 cookie use GuzzleHttp\Cookie\CookieJar; $jar = CookieJar::fromArray([ 'name' => 'value_puk' ], 'httpbin.org'); $client = new \GuzzleHttp\Client(['cookies' => true]); $r = $client->request('GET', 'http://httpbin.org/cookies', ['cookies' => $jar]); echo $r->getBody(); 接收到的 cookie 的形式不是很方便,现在需要以某种方式对其进行解析以供进一步使用。
一般来说,我想通了,我只是向不设置 cookie 的域发出请求。
获取 cookie:
或者:
发送 cookie
接收到的 cookie 的形式不是很方便,现在需要以某种方式对其进行解析以供进一步使用。