2012-07-25 13 views
12

私は何時間も探してきましたが、これについて何も見つかりませんでした。私は、sugarsync APIへのリクエストをPHPのカールポストしていると私は必要なヘッダー内の場所を返します。私はこの情報をどのように入手するのか分かりません。私はポストとして私はAPIファイルを投稿するので、彼らはすべてヘッダー情報を返すので、それを保持する必要があります。私はヘッダーの場所にどのようにアクセスできるかわからない。 according to them私はそれを別のxmlファイルに入れて投稿する必要があります。どんな助けもありがとう。PHPのヘッダ情報を取得するcurl post request

答えて

2

応答のヘッダー情報を取得する。

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

これは私にヘッダー情報を与えます。具体的に場所を取得するためにそれを解析する方法は? – selanac82

15

あなたがカールオプションCURLOPT_FOLLOWLOCATIONを設定すると、cURLのは場所があなたのためにリダイレクトに従います。

ヘッダーを取得する場合は、オプション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()を参照してください。