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
当然,我不想手动完成。
答案 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];