Во-первых, вы должны сделать первоначальный запрос, чтобы получить куки с сервера.В ответе вы сохраните куки, которые сервер отправляет в заголовке ответа Set-Cookie
.Где вы храните их, зависит от вас.Я только что добавил их в сеанс.
$uri = 'http://example.com';
$client = new Zend_Http_Client();
$client->setUri($uri);
$client->setAdapter('Zend_Http_Client_Adapter_Curl');
$adapter = $client->getAdapter();
$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false);
/** First Request to get required cookies **/
$response = $client->request();
/** Get response cookie strings and store them (session, db, file, etc) **/
$cookies = (array) $response->getHeader('Set-cookie');
$session = new Zend_Session_Namespace();
$session->storedCookies = $cookies;
Теперь, когда у вас есть файлы cookie, вы можете добавить их к вашему запросу при следующем запросе.
/** Start new Zend_Http_Client instance **/
$uri = 'http://example.com';
$client = new Zend_Http_Client();
$client->setUri($uri);
$client->setAdapter('Zend_Http_Client_Adapter_Curl');
$adapter = $client->getAdapter();
/** This setCurlOption is optional **/
$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false);
$session = new Zend_Session_Namespace();
$cookies = $session->storedCookies;
/** Add Stored Cookie strings to Zend_Http_Client instance **/
foreach ($cookies as $cookieStr) {
$client->setCookie(Zend_Http_Cookie::fromString($cookieStr, $uri));
}
/** Perform request using stored cookies **/
$response = $client->request();
Если у вас есть вопросы или мне нужно что-нибудь уточнить, просто дайте мне знать.