スポンサー

【PHP】fire_get_contentsでユーザーエージェントを変更しよう

fire_get_contentsとは

fire_get_contentsの記事ではないので、詳しくは説明しませんが、いわゆる「サイト/ページの出力を文字列で返す」ものです。
例えば、
$file=file_get_contents("https://google.com");
echo $file;
の処理だとgoogle.comのHTMLが返ります。

ですが、Googleはユーザーエージェントによりサイトを切り替えているためユーザーエージェントがないアクセスでは古いブラウザ専用のHTMLが送信されてしまいます。

なので、ユーザーエージェントを種類ブラウザ等に偽造送信し、通常ブラウザ用のサイトにする必要があります。

ユーザーエージェントを変更する方法

このコードで自分の思い通りのユーザーエージェントにすることができます。

$url="https://google.com";
$sitehtml = file_get_contents($url, false, stream_context_create(array(
    'http'=>array(
        'method'=>"GET",
        'header'=>"User-Agent: ここにユーザーエージェントを記述",
        'ignore_errors'=>true,
    ),
)));

例えば、アクセスしたユーザーのユーザーエージェントでアクセスしたい場合は次のようにします。

$url="https://google.com";
$sitehtml = file_get_contents($url, false, stream_context_create(array(
    'http'=>array(
        'method'=>"GET",
        'header'=>"User-Agent: ".$_SERVER['HTTP_USER_AGENT'];,
        'ignore_errors'=>true,
    ),
)));

簡単にできますね。

使うときはいろいろとありそうですが覚えておくとかなりいいものと思います。

皆さんもぜひ使ってみてください。

広告

このブログの人気の投稿

【CSS】アニメーション等動作がカクカクする時の対処法

超軽量DOM操作ライブラリdom_sen.js var1

超軽量DOM操作ライブラリdom_sen.js var2