12

私は何時間も検索してきましたが、これについては何も見つかりません。私はsugarsync APIへのphp curl postリクエストを行っていますが、必要なヘッダーの場所を返します。この情報を取得する方法がわかりません。xmlファイルをAPIに投稿し、ヘッダー情報を返すだけなので、投稿として保持する必要があります。ヘッダーの場所にアクセスする方法がわかりません。彼らによると、それを別のxmlファイルに入れて、それも投稿する必要があります。どんな助けでも大歓迎です。

4

2 に答える 2

16

curl オプションを設定するCURLOPT_FOLLOWLOCATIONと、cURL はロケーション リダイレクトに従います。

ヘッダーを取得する場合は、オプションCURLOPT_HEADERを 1 に設定すると、返される HTTP 応答curl_exec()にヘッダーが含まれます。それらを解析して場所を特定できます。

$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()ですべてのオプションを参照してください。

于 2012-07-25T22:17:12.510 に答える
2

レスポンスのヘッダー情報を取得します。

curlsetopt($ch,CURLOPT_HEADER,true);
于 2012-07-25T22:16:02.837 に答える