2014-01-22 9 views
1

PHP에서 cURL을 사용하여 자원을 생성하는 엔드 포인트에 POST 중입니다. 생성 된 리소스의 URL을 제공하는 Location 헤더가있는 201 응답을 반환합니다. 또한 응답 본문에 몇 가지 정보가 있습니다.PHP cURL : 특정 응답 헤더 읽기

응답의 일반 텍스트 본문을 가져오고 위치 헤더의 값을 얻는 가장 좋은 방법은 무엇입니까? curl_getinfo는 헤더를 반환하지 않습니다, 나는이 작업을 수행 할 때

curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($ch, $header) { 
     var_dump($header); 
    }); 

나는 오직 하나의 헤더 밖으로 덤프 - 더 "HTTP/1.1 201 만든"응답 코드를.

답변

4
$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://www.google.com/'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER,true); 

$result = curl_exec($ch); 

curl_close($ch); 

list($headers, $content) = explode("\r\n\r\n",$result,2); 

// Print header 
foreach (explode("\r\n",$headers) as $hdr) 
    printf('<p>Header: %s</p>', $hdr); 

// Print Content 
echo $content; 
+0

'\ r \ n \ r \ n'이 본문에 표시되면 어떻게됩니까? –