2010-07-07 5 views
2

REST 프로토콜과 통신 할 웹 사이트를 개발 중입니다. REST 서비스의 소유자는 아마도 헤더를 통해 REST 호출과 함께 쿠키가 전송되기를 원한다.REST 통화로 쿠키 보내기, 제발 도와주세요!

어떻게 PHP로 처리 할 수 ​​있습니까? REST 호출과 함께 쿠키를 보내려면 어떻게해야합니까?

모든 도움에 감사드립니다!

답변

2

당신은 컬을 사용하는 경우 (요청 전에 로딩 쿠키) curl_setopt optionsCURLOPT_COOKIEJAR (응답에서 저장하는 쿠키)과 CURLOPT_COOKIEFILE를보십시오. 두 파일을 같은 파일로 설정하면 충분합니다.

$yourfile = '/any/file/you/want'; 
$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_POST, true); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $yourfile); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $yourfile); 
$result = curl_exec ($ch); 
curl_close ($ch); 
+0

그래서 PHP와 CURL의 POST 요청은 어떻게 되나요? – user339067

+0

@ user339067 : 예를 들어 – Piskvor

+0

을 추가했습니다. 쿠키를 가지고있는 경우에는 * pure * REST가 아니지만 다른 것보다 종교적인 문제가 더 많습니다. – Piskvor

0

cURL 기능을 사용하여 헤더를 수정할 수 있습니다.

<?php 
$submit_url = "https://sitename/process.php"; 

$curl = curl_init(); 

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiefile); 
curl_setopt($curl, CURLOPT_URL, $submit_url); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $params); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 

$data = curl_exec($curl); 
curl_close($curl); 
?> 
+0

쿠키는 내가 Facebook Connect를 통해 인증 한 후에 API 소유자가 http set-cookie 명령을 사용하여 설정되었습니다. $ cookiefile을 채우려면 어떻게해야합니까? – user339067

관련 문제