1

リダイレクト後に画像の場所の URL を取得しようとしていますが、うまくいかないようです。これまで cURL を使用したことはありませんが、行った調査によると、Facebook から画像を取得するには cURL が必要なようです。これまでの私のコードは次のとおりです。

function getImage($url) {
$ch = curl_init();
// Only calling the head
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true); // header will be at output
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'HEAD'); // HTTP request is 'HEAD'

$content = curl_exec($ch);
curl_close($ch);

return $content;
}

$image = explode("Location: ", getImage("http://graph.facebook.com/553451657/picture?type=large"));

print_r($image);

しかし、私の応答は次のとおりです。

HTTP/1.1 302 Found Access-Control-Allow-Origin: * Cache-Control: private, no-cache, no-store, must-revalidate Content-Type: image/jpeg Expires: Sat, 01 Jan 2000 00:00:00 GMT Location: http://profile.ak.fbcdn.net/hprofile-ak-snc4/161877_553451657_798840908_n.jpg Pragma: no-cache X-FB-Rev: 590433 X-FB-Debug: WH1uJvIjUqiLT8ezVPdude8VKYnXjAHRlFaP8gqF9fI= Date: Fri, 13 Jul 2012 17:56:09 GMT Connection: keep-alive Content-Length: 0 Array ( [0] => 1 ) 

Location 部分 ("http://profile.ak.fbcdn.net/hprofile-ak-snc4/161877_553451657_798840908_n.jpg") を取得するにはどうすればよいですか?

4

2 に答える 2

-2

場所の部分を取得するにはどうすればよいですか

その Location ヘッダーを取得することは、あなたの主な目標ではありませんよね? リダイレクト先のアドレスから画像を取得したいのですね。

したがって、オプションを設定するだけCURLOPT_FOLLOWLOCATIONで、cURL はそのリダイレクトを自動的にたどり、実際の画像を取得します。

于 2012-07-13T18:09:06.573 に答える