Есть ли какие-либо стандартные средства в PHP для чтения инструкций Set-Cookie
в заголовке HTTP-ответа, без ручного его анализа?
В частности, я хочу прочитать значение cookie ASP.NET_SessionId
, возвращаемое веб-службой ASP.NET, которую я потребляю.
EDIT:
Я использую веб-службу, используя собственный класс PHP SoapClient
. Я могу использовать метод __getLastResponseHeaders()
для извлечения всего заголовка ответа 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
И, конечно, я не хочу делать это вручную.
Вы можете просмотреть файлы cookie, возвращенные через мыльный клиент, используя:
var_dump ($ клиент → _ печенье);
echo "cookie is". $client → _ cookies [ "ASP.NET_SessionId" ] [0];
Попробуйте следующее:
$_COOKIE['ASP.NET_SessionId'];
Или это:
$cookies = getCookies();
$sessionId = $cookies['ASP.NET_SessionId'];
Не уверен, что последняя часть будет работать правильно - если это не так, вы можете попробовать:
print_r($cookies);
чтобы увидеть, возвращает ли он что-либо.
$_COOKIE
что $_COOKIE
содержит только файлы cookie, прочитанные пользователем, а не файлы cookie, возвращаемые веб-службой.