Чтение инструкций Set-Cookie в заголовке ответа HTTP

1

Есть ли какие-либо стандартные средства в 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

И, конечно, я не хочу делать это вручную.

Теги:
cookies
http

2 ответа

1
Лучший ответ

Вы можете просмотреть файлы cookie, возвращенные через мыльный клиент, используя:

var_dump ($ клиент → _ печенье);

echo "cookie is". $client → _ cookies [ "ASP.NET_SessionId" ] [0];

  • 0
    Это отлично работает. Но я не могу найти ничего в документации php. Где ты это нашел?
2

Попробуйте следующее:

$_COOKIE['ASP.NET_SessionId'];

Или это:

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

Не уверен, что последняя часть будет работать правильно - если это не так, вы можете попробовать:

print_r($cookies);

чтобы увидеть, возвращает ли он что-либо.

  • 0
    Хорошо, посмотрим.
  • 0
    Нет, это не работает. Я $_COOKIE что $_COOKIE содержит только файлы cookie, прочитанные пользователем, а не файлы cookie, возвращаемые веб-службой.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню