[PHP]外部のサイトを読み込む方法(curl,file_get_contents)

php_program_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

phpで外部サイトの情報を収集する

phpにて外部のサイトにアクセスして処理したり、情報を収集したいときがあります。
なかでもbasic認証を設定しているサイトにアクセスする方法を確認しましたので

  • file_get_contents
  • curl

の2つを紹介します。

 

file_get_contents関数

httpリクエストで情報を収集する際によく利用するのがfile_get_contentsという関数だと思います。

urlを与えるだけで該当のデータを取得することができます。
file_get_contentsのメリットは簡単に利用することができることで、デメリットはカスタマイズ(リクエスト方法の調整やリクエストヘッダーの改変)したアクセスが難しいことです。

 

curl関数

curlのメリットはリクエスト方法や、パラメータの調整などリクエストに関する設定が細かくできることです。デメリットはプログラムの記入量が増え、設定項目が増えるため簡易には使用しにくいことです。

ただ簡単に利用しにくい以外の欠点がないため、ある一定規模の開発になるとほぼcurl関数が利用されます。

 

basic認証を設定されたサイトにアクセスする

基本的な使い方は記載しましたが、応用としてbasic認証を設定しているサイトにアクセスする方法も記載します。

file_get_contentsサンプル

basic認証を設定された瞬間にfile_get_contentsを利用する場合は工夫が必要になります。

curlサンプル

 

まとめ

いかがでしたでしょうか。

今回は通常の通信とbasic認証の通信を紹介しました。

個人的には簡単なツール、または検証用のプログラムを作成するなfile_get_contents。ある一定規模の開発や特殊なリクエストを行う場合は、curlを利用しています。

file_get_contentsとcurlはほぼ同じ機能を保有する命令ですが、特徴が異なりますので状況に合わせて使い分けてみて下さい。

 

 

ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。

徳丸 浩(著)
ページ数: 688ページ
出版社:SBクリエイティブ
発売日:2018/06/21

出典:amazon