ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

PHP:file_get_contents()で、GETリクエストおよびレスポンスを取得

あるサイトに対して、httpのGETリクエストでIDをパラメータとして送り込むと、IDに従ってファイルが作成されるようにしてあります。
普段は他の処理と組み合わせた、一連の処理の流れの中でGETリクエストをしていますが、急遽GETリクエストだけ行わなければならなくなりました。

リンクを生成してクリックする?

GETリクエストをするIDは300未満なので、プログラムでGETリクエストのリンクを生成して、順番にクリックする仕組みにしようかと思いましたが、処理もれがないか検証する方法が目視になるので止めました。

プログラムでGETリクエストをする

PHPでGETリクエストおよびレスポンスを取得するなら、PEARのHTTP_Requestを使えばいいのは知っていましたが、PHPの標準機能でできないかと探したら、file_get_contents()を使えばできることがわかりました。
Manual :: HTTP_Request


PHP: file_get_contents - Manual


名前からすると想像できませんが、Webサーバーにリクエストができます。

file_get_contents()の使い方は簡単で、マニュアルにあるとおり、第1引数にGETリクエストを記述すれば利用でき、戻り値にはレスポンスが格納されます。
file_get_contents()を使って、目的の処理を作成でき、無事ファイルを作成することができました。

まとめ

PHPは標準機能では使いづらいこともあり、PEARを使ったほうが楽ができる場合もあるけれど、標準機能で手軽に作れる場合もあるので、楽な方法を選んでいきたいです。