2011-01-11 2 views
1

PHP에서 수동으로 구문 분석하지 않고 HTTP 응답 헤더의 Set-Cookie 명령어를 읽는 표준적인 방법이 있습니까?HTTP 응답 헤더의 Set-Cookie 명령어 읽기

좀 더 구체적으로 말하면, 나는 소비하고있는 ASP.NET 웹 서비스에 의해 반환 된 ASP.NET_SessionId 쿠키의 값을 읽고 싶습니다.


편집 :

내가 PHP의 기본 SoapClient 클래스를 사용하여 웹 서비스를 소비하고있다. 의,

ku501l55o300ik3sa2gu3vzj 

그리고 : 나는 웹 서비스에 의해 반환 된 HTTP 응답 헤더의 전체 검색 할 __getLastResponseHeaders() 방법을 사용할 수 있습니다 :

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 쿠키의 값을 추출 할 물론, 나는 그것을 수동으로하고 싶지 않다.

답변

1

할 수 있습니다 사용하여 비누 클라이언트를 통해 반환 된 쿠키를 참조하십시오

위해서 var_dump ($ 클라이언트 -> _ 쿠키);

echo "쿠키가 있습니다."$ client -> _ cookies [ "ASP.NET_SessionId"] [0];

+0

이 작동합니다. 그러나 나는 PHP 문서에서 아무것도 찾을 수 없습니다. 이걸 찾은 곳? – jaydoubleyou

2

이 시도 :

$_COOKIE['ASP.NET_SessionId']; 

또는이 :

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

확실하지 않음 마지막 부품이 올바르게 작동하는지 - 그렇지 않은 경우, 당신이 시도 할 수 :

print_r($cookies); 

심지어 아무것도 반환하는지 확인합니다.

+0

자, 보겠습니다. – pyon

+0

아니요, 작동하지 않습니다. Me는'$ _COOKIE'는 웹 서비스가 반환하는 쿠키가 아니라 사용자가 읽은 쿠키만을 포함한다고 생각합니다. – pyon

+0

@Eduardo León PHP가 * 아닌 서버 측에 있습니까? – alex