Php 读取HTTP响应头中的Set-Cookie指令
在PHP中是否有任何标准方法可以读取HTTP响应头中的Php 读取HTTP响应头中的Set-Cookie指令,php,http,cookies,Php,Http,Cookies,在PHP中是否有任何标准方法可以读取HTTP响应头中的Set Cookie指令,而无需手动解析 更具体地说,我想读取我正在使用的ASP.NET Web服务返回的ASP.NET_SessionIdcookie的值 编辑: 我正在使用PHP的原生SoapClient类使用Web服务。我可以使用\uu getLastResponseHeaders()方法检索Web服务返回的整个HTTP响应头: HTTP/1.1 200 OK Cache-Control: private, max-age=0 Con
Set Cookie
指令,而无需手动解析
更具体地说,我想读取我正在使用的ASP.NET Web服务返回的ASP.NET_SessionId
cookie的值
编辑: 我正在使用PHP的原生
SoapClient
类使用Web服务。我可以使用\uu 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\u SessionID
cookie的值:
ku501l55o300ik3sa2gu3vzj
当然,我不想手动操作。试试这个:
$_COOKIE['ASP.NET_SessionId'];
或者这个:
$cookies = getCookies();
$sessionId = $cookies['ASP.NET_SessionId'];
不确定最后一部分是否能正常工作-如果不能,您可以尝试:
print_r($cookies);
查看它是否返回任何内容。您可以使用以下命令查看通过soap客户端返回的cookies: 变量转储($client->\u cookies)
echo“cookie是”。$client->cookies[“ASP.NET_SessionId”][0] 不,它不起作用。Me认为,
$\u COOKIE
只包含从用户读取的COOKIE,而不包含由Web服务返回的COOKIE。@Eduardo León什么时候PHP不在服务器端?只要放置COOKIE时COOKIE域和路径设置正确,它就应该是可读的。@alex:PHP在用户看来是在服务器端的,但是从我使用的Web服务的角度来看,在客户端,SoapClient类中有一个getCookies()方法。因此,如果您可以调用该方法,您应该能够获取cookies。检查编辑后的答案。这很好。但是我在php文档中找不到任何东西。你在哪里找到的?