读取HTTP响应头中的Set-Cookie指令

时间:2011-01-11 23:19:03

标签: php http cookies

PHP中是否有任何标准方法可以读取HTTP响应头中的Set-Cookie指令,而无需手动解析它?

更具体地说,我想读取我正在使用的ASP.NET Web服务返回的ASP.NET_SessionId cookie的值。


修改

我正在使用PHP的本地SoapClient类来使用Web服务。我可以使用__getLastResponseHeaders()方法检索Web服务返回的整个HTTP响应头:

HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
Set-Cookie: ASP.NET_SessionId=ku501l55o300ik3sa2gu3vzj; path=/; HttpOnly
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Tue, 11 Jan 2011 23:34:02 GMT
Content-Length: 368

但我想提取ASP.NET_SessionID cookie的值:

ku501l55o300ik3sa2gu3vzj

当然,我不想手动完成。

2 个答案:

答案 0 :(得分:2)

试试这个:

$_COOKIE['ASP.NET_SessionId'];

或者这个:

$cookies = getCookies();
$sessionId = $cookies['ASP.NET_SessionId'];

不确定最后一部分是否能正常工作 - 如果没有,你可以尝试:

print_r($cookies);

看看它是否会返回任何内容。

答案 1 :(得分:1)

您可以使用以下方式查看通过soap客户端返回的cookie:

的var_dump($客户端 - > _cookies);

echo“cookie is”。$ client-> _cookies [“ASP.NET_SessionId”] [0];