2012-03-16 2 views
2

웹 API에서 응답 받기 위해 CURL을 사용하고 있습니다. 나는 반응을 얻고있다하지만이 같은 문자열 형식으로되어 있습니다 :컬링 응답에서 값 가져 오기

1.1 (302)는 일시적 일 이전 HTTP/: 금을 2012년 3월 16일 그리니치 표준시 12시 57분 16초 서버 : 글래스 피쉬/V3의 X-구동 - 기준 : Servlet/2.5 위치 : http://demo.tdsarena.com/tds/ 내용 유형 : text/html; charset = iso-8859-1 콘텐츠 길이 : 0 설정 쿠키 : JSESSIONID = b869884w3w3r3r76dbd1a2bfd5d; =/TDS 경로 비바리 : 수락 인코딩 연결 : 내가 다음 코드를 사용하고

가까운 :

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://demo.tdsarena.com/tds/j_security_check'); 
curl_setopt($ch, CURLOPT_POST, true); 

curl_setopt($ch, CURLOPT_POSTFIELDS, "j_username=XXX&j_password=XXX"); 

curl_setopt($ch, CURLOPT_HEADER, true); 



curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$result = curl_exec($ch); 
curl_close($ch); 

echo $result; 

내가 쿠키 "JSESSIONID"를 싶어합니다. 그러나 나는 이것을 어떻게 얻을 수 있는가. 나는 $ _COOKIE 변수로 시도했다.

아무나 나를 도울 수있다 plz. 미리 감사드립니다.

+0

을하지만 난 컬 – Chirayu

+0

은 $ _COOKIE 변수에 true로 설정 CURLOPT_POST를 사용하여 포스트 방법을 사용하고은에 잘못된 장소입니다 보기. curl_exec가 호출 될 때 쿠키가 전달되는 것이 아니라 PHP 스크립트가 호출 될 때 전달 된 쿠키가 포함됩니다. – qbert220

답변

3

당신은 $result 값을 구문 분석과 같은 것을 사용하여 쿠키 값을 추출 할 수 있습니다 :

if (preg_match('/Set-Cookie: JSESSIONID=(.*?);/', $result, $matches)) 
{ 
    $cookieVal = $matches[1]; 
    echo $cookieVal; 
}