получить значение из ответа curl - PullRequest
2 голосов
/ 16 марта 2012

Я использую CURL для получения ответа от веб-API. Я получаю ответ, но в строковом формате:

HTTP / 1.1 302 Временно перемещено Дата: пт, 16 марта 2012 12:57:16 GMT Сервер: GlassFish / v3 X-Powered-By: Servlet / 2.5 Расположение: http://demo.tdsarena.com/tds/ Content-Type: text / html; charset = iso-8859-1 Content-Length: 0 Set-Cookie: JSESSIONID = b869884w3w3r3r76dbd1a2bfd5d; Путь = / тдс Вары: Accept-Encoding Connection: закрыть

Я использую следующий код:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://demo.tdsarena.com/tds/j_security_check');
curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, "j_username=XXX&j_password=XXX");

curl_setopt($ch, CURLOPT_HEADER, true);



curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);
curl_close($ch);

echo $result;

Я хочу получить печенье "JSESSIONID". но как я могу получить это. Я пытался с переменной $ _COOKIE.

Кто-нибудь может мне помочь, плз. заранее спасибо.

1 Ответ

3 голосов
/ 16 марта 2012

Вы можете проанализировать значение $result и извлечь значение cookie, используя что-то вроде этого:

if (preg_match('/Set-Cookie: JSESSIONID=(.*?);/', $result, $matches))
{
    $cookieVal = $matches[1];
    echo $cookieVal;
}
...