本文整理汇总了PHP中Guzzle\Http\Message\Response::getSetCookie方法的典型用法代码示例。如果您正苦于以下问题:PHP Response::getSetCookie方法的具体用法?PHP Response::getSetCookie怎么用?PHP Response::getSetCookie使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Guzzle\Http\Message\Response
的用法示例。
在下文中一共展示了Response::getSetCookie方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createResponse
public function createResponse(\Guzzle\Http\Message\Response $response)
{
$body = $response->getBody(true);
if (preg_match('#^Response: Success\\r\\nMessage: Authentication accepted#', $body)) {
$setCookie = $response->getSetCookie();
if (!preg_match('#^mansession_id=\\"([a-z0-9]+)\\"#', $setCookie, $matches)) {
throw new Exception\UnexpectedResponseException();
}
return new Response\AuthenticationAcceptedResponse($matches[1]);
}
if (preg_match('#^Response: Error\\r\\nMessage: Permission denied#', $body)) {
return new Response\PermissionDeniedResponse();
}
if (preg_match('#^Response: Error\\r\\nMessage: Authentication failed#', $body)) {
return new Response\AuthenticationFailedResponse();
}
throw new Exception\UnexpectedResponseException($body);
}
示例2: addCookiesFromResponse
/**
* {@inheritdoc}
*/
public function addCookiesFromResponse(Response $response)
{
if ($cookieHeader = $response->getSetCookie()) {
$request = $response->getRequest();
$parser = ParserRegistry::getInstance()->getParser('cookie');
foreach ($cookieHeader as $cookie) {
$parsed = $request ? $parser->parseCookie($cookie, $request->getHost(), $request->getPath()) : $parser->parseCookie($cookie);
if ($parsed) {
// Break up cookie v2 into multiple cookies
foreach ($parsed['cookies'] as $key => $value) {
$row = $parsed;
$row['name'] = $key;
$row['value'] = $value;
unset($row['cookies']);
$this->add(new Cookie($row));
}
}
}
}
}
示例3: extractCookies
/**
* Extracts cookies from an HTTP Response object, looking for Set-Cookie:
* and Set-Cookie2: headers and persists them to the cookie storage.
*
* @param Response $response
*/
public function extractCookies(Response $response)
{
if (!($cookie = $response->getSetCookie())) {
return array();
}
$cookieData = array();
foreach ($cookie as $c) {
$cdata = self::parseCookie($c, $response->getRequest());
//@codeCoverageIgnoreStart
if (!$cdata) {
continue;
}
//@codeCoverageIgnoreEnd
$cookies = array();
// Break up cookie v2 into multiple cookies
if (count($cdata['cookies']) == 1) {
$cdata['cookie'] = explode('=', $cdata['cookies'][0], 2);
unset($cdata['cookies']);
$cookies = array($cdata);
} else {
foreach ($cdata['cookies'] as $cookie) {
$row = $cdata;
unset($row['cookies']);
$row['cookie'] = explode('=', $cookie, 2);
$cookies[] = $row;
}
}
if (count($cookies)) {
foreach ($cookies as &$c) {
$this->jar->save($c);
$cookieData[] = $c;
}
}
}
return $cookieData;
}
示例4: extractCookies
/**
* Extracts cookies from an HTTP Response object, looking for Set-Cookie:
* and Set-Cookie2: headers and persists them to the cookie storage.
*
* @param Response $response
*/
public function extractCookies(Response $response)
{
if (!($cookie = $response->getSetCookie())) {
return array();
}
$cookieData = array();
$parser = ParserRegistry::get('cookie');
foreach ($cookie as $c) {
$request = $response->getRequest();
if ($request) {
$cdata = $parser->parseCookie($c, $request->getHost(), $request->getPath());
} else {
$cdata = $parser->parseCookie($c);
}
//@codeCoverageIgnoreStart
if (!$cdata) {
continue;
}
//@codeCoverageIgnoreEnd
$cookies = array();
// Break up cookie v2 into multiple cookies
if (count($cdata['cookies']) == 1) {
$cdata['cookie'] = array(key($cdata['cookies']), current($cdata['cookies']));
unset($cdata['cookies']);
$cookies = array($cdata);
} else {
foreach ($cdata['cookies'] as $key => $cookie) {
$row = $cdata;
unset($row['cookies']);
$row['cookie'] = array($key, $cookie);
$cookies[] = $row;
}
}
if (count($cookies)) {
foreach ($cookies as &$c) {
$this->jar->save($c);
$cookieData[] = $c;
}
}
}
return $cookieData;
}