在请求发生后,我如何从Guzzle请求/客户端检索cookie?
$client = new Client([ 'base_uri' => 'www.google.com', ]); $response = $client->request('GET', '/');
tuwxkamq1#
我在更新这篇文章。在Guzzle 8.0版中,getConfig()方法将为@deprecated . Read the docs.您可以从示例代码中获取Cookie:
getConfig()
@deprecated
$client = new Client([ 'base_uri' => 'YOUR_URI', ]); $response = $client->post('PATH'); $headerSetCookies = $response->getHeader('Set-Cookie'); $cookies = []; foreach ($headerSetCookies as $key => $header) { $cookie = SetCookie::fromString($header); $cookie->setDomain('YOUR_DOMAIN'); $cookies[] = $cookie; } $cookieJar = new CookieJar(false, $cookies);
对于使用,则:
$client->post('PATH', [ 'cookies' => $cookieJar ]);
8gsdolmq2#
您还可以从响应中获得CookieJar,如下所示:
$client = new Client([ 'base_uri' => 'www.google.com', 'cookies' => true, ]); $response = $client->request('GET', '/'); $cookieJar = $response->cookies(); $cookieArray = $cookieJar->->toArray();
brccelvz3#
请阅读文档。您必须使用CookieJar类来处理cookie。
CookieJar
$client = new \GuzzleHttp\Client(['cookies' => true]); $r = $client->request('GET', 'http://httpbin.org/cookies'); $cookieJar = $client->getConfig('cookies'); $cookieJar->toArray();
3条答案
按热度按时间tuwxkamq1#
我在更新这篇文章。
在Guzzle 8.0版中,
getConfig()
方法将为@deprecated
. Read the docs.您可以从示例代码中获取Cookie:
对于使用,则:
8gsdolmq2#
您还可以从响应中获得CookieJar,如下所示:
brccelvz3#
请阅读文档。您必须使用
CookieJar
类来处理cookie。