CURL を使用して Web サイトのソースを取得するための単純な PHP スクリプトを作成しました。
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/curl/cacert.pem");
$data = curl_exec($ch);
$url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($data === false)
return false;
return array("content" => $data, "url" => $url, "httpcode" => $httpcode);
}
$data = file_get_contents_curl("https://www.facebook.com");
print_r($data);
この例では、facebook のソースをフェッチしていますが、サポートされていないブラウザーに関連するページを取得しています。実際、リダイレクト後の最終的な URL は次のとおりです: http://www.facebook.com/unsupportedbrowser
どうしたの?