2012-07-25 3 views
12

나는 몇 시간 동안 검색을 해왔으며 이것에 대해 아무 것도 찾을 수 없습니다. sugarsync api에 PHP curl post 요청을하고 있는데 필요한 헤더에 위치를 반환합니다. 나는이 정보를 얻는 방법을 모른다. 그들의 API에 XML 파일을 게시하고 그들은 헤더 정보를 반환하기 때문에 게시물로 유지해야합니다. 나는 헤더의 위치에 어떻게 접근 할 수 있는지 전혀 모른다. according to them 다른 XML 파일에 넣고 게시해야합니다. 어떤 도움을 주셔서 감사합니다.PHP에서 머리글 정보 가져 오기 게시물 요청

답변

2

응답에서 헤더 정보를 가져 오려면.

curlsetopt($ch,CURLOPT_HEADER,true); 
+1

이 헤더 정보를 제공합니다. 하지만 어떻게 그것을 구체적으로 위치를 구문 분석합니까? – selanac82

15

당신은 컬 옵션 CURLOPT_FOLLOWLOCATION을 설정하면 컬이 위치가 당신을 위해 리디렉션 따릅니다.

헤더를 가져 오려면 CURLOPT_HEADER 옵션을 1로 설정하면 curl_exec()에서 반환되는 HTTP 응답에 헤더가 포함됩니다. 위치에 대해 파싱 할 수 있습니다.

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_HEADER, 1); // return HTTP headers with response 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return the response rather than output it 

$resp = curl_exec($ch); 

list($headers, $response) = explode("\r\n\r\n", $resp, 2); 
// $headers now has a string of the HTTP headers 
// $response is the body of the HTTP response 

$headers = explode("\n", $headers); 
foreach($headers as $header) { 
    if (stripos($header, 'Location:') !== false) { 
     echo "The location header is: '$header'"; 
    } 
} 

모든 옵션은 curl_setopt()을 참조하십시오.