本文整理汇总了PHP中Guzzle\Http\Message\RequestInterface::addCookie方法的典型用法代码示例。如果您正苦于以下问题:PHP RequestInterface::addCookie方法的具体用法?PHP RequestInterface::addCookie怎么用?PHP RequestInterface::addCookie使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Guzzle\Http\Message\RequestInterface
的用法示例。
在下文中一共展示了RequestInterface::addCookie方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addCookies
/**
* Add cookies to a request based on the destination of the request and
* the cookies stored in the storage backend. Any previously set cookies
* will be removed.
*
* @param RequestInterface $request Request to add cookies to. If the
* request object already has a cookie header, then no further cookies
* will be added.
*
* @return array Returns an array of the cookies that were added
*/
public function addCookies(RequestInterface $request)
{
$request->removeHeader('Cookie');
// Find cookies that match this request
$cookies = $this->jar->getCookies($request->getHost(), $request->getPath());
$match = false;
if ($cookies) {
foreach ($cookies as $cookie) {
$match = true;
// If a port restriction is set, validate the port
if (!empty($cookie['port'])) {
if (!in_array($request->getPort(), $cookie['port'])) {
$match = false;
}
}
// Validate the secure flag
if ($cookie['secure']) {
if ($request->getScheme() != 'https') {
$match = false;
}
}
// If this request is eligible for the cookie, then merge it in
if ($match) {
$request->addCookie($cookie['cookie'][0], isset($cookie['cookie'][1]) ? $cookie['cookie'][1] : null);
}
}
}
return $match && $cookies ? $cookies : array();
}
示例2: visit_cookies
protected function visit_cookies(RequestInterface $request, $value, $flags)
{
if (!is_array($value)) {
throw new InvalidArgumentException('cookies value must be an array');
}
foreach ($value as $name => $v) {
$request->addCookie($name, $v);
}
}