我使用CURL从web api获取响应。我得到了回应,但它是字符串格式,如下所示:
HTTP / 1.1 302暂时移动日期:2012年3月16日星期五12:57:16 GMT 服务器:GlassFish / v3 X-Powered-By:Servlet / 2.5位置: http://demo.tdsarena.com/tds/内容类型:text / html; charset = iso-8859-1内容长度:0 Set-Cookie: JSESSIONID = b869884w3w3r3r76dbd1a2bfd5d;路径= / tds变化: 接受编码连接:关闭
我正在使用以下代码:
$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;
我想获得cookie“JSESSIONID”。但我怎么能得到这个。我尝试过$ _COOKIE变量。
是的,有人可以帮助我吗?提前谢谢。答案 0 :(得分:3)
您可以解析$result
值并使用以下内容提取cookie值:
if (preg_match('/Set-Cookie: JSESSIONID=(.*?);/', $result, $matches))
{
$cookieVal = $matches[1];
echo $cookieVal;
}