[PHP] リファラ付きでURLからデータを取得

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()など他のものでもイケます。

なお、オプションの'header'はHTTPヘッダの指定ですから、Cookie等の他のヘッダも含められます。
色々と応用できそうですね。

テーマ: Webデザイン - ジャンル: コンピュータ

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://itpc.blog87.fc2.com/tb.php/44-54e1f45e
この記事にトラックバック(FC2ブログユーザ用)

PHPで指定したURLのデータを取得する方法

1.PHPで指定したURLのデータを取得する方法 $url = 'http://hoge/'; $fp = fopen($url, 'r'); でデータへのファイルポインタを取得できます。 PHP4.3以上の場合...

  • 2010/02/24(水) 16:53:02 |
  • 名古屋のWebシステム屋さん