PHPを使って、リファラ(Referer)付きで URL にアクセスしてデータを取得するには、下記のようにすればOKのようです。
$option = array(
'http' => array(
'method' => 'GET',
# 参照元URLを設定
'header' => 'Referer: '.'http://参照元URL'."\r\n"
)
);
$context = stream_context_create($option);
# 対象URLから$strにファイル内容を取得
$str = file_get_contents('http://対象URL', FALSE, $context);stream_context_create() でコンテキストリソースを生成するのがミソ。
この例ではURLへのアクセスに file_get_contents() を使ってますが、コンテキストをサポートするファイル関数なら file() や fopen() など他のものでもOKです。
なお、オプションの ‘header’ は HTTPヘッダの指定ですから、Cookie 等の他のヘッダも含められます。色々と応用できそうですね。

コメントを投稿