[PHP]外部のサイトにアクセスする

NO IMAGE

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

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

  • file_get_contents
  • curl

の2つを紹介します。

Advertisement

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はほぼ同じ機能を保有する命令ですが、特徴が異なりますので状況に合わせて使い分けてみて下さい。

Advertisement

web開発カテゴリの最新記事