【PHP】cURL関数で外部データを取得する例|APIのJSON・XMLデータなど

PHPで外部のデータを取得する場合、file_get_contents関数が利用できますが、今回は、cURL(カール)を使い外部のデータを取得する例となります。

cURL について

cURLは、さまざまなプロトコルでサーバーと接続し通信できるツールとなり、データ転送時にはオプションを設定することも可能です。

PHPでは、libcurl パッケージをインストールすることでcURL関数を利用できます。

また、WordPressではデフォルトでcURL関数を利用できます。

【PHP】cURL関数でAPIなどの外部データを取得する例

以下、PHPのcURL関数でAPIなどの外部データを取得する例となります。

<?php
$url = "https://example.com/XXXXXXXX";

//  cURLセッションを初期化
$ch = curl_init();

// 転送時のオプションを配列で設定
$options = array(
	// データを取得するURLを指定
	CURLOPT_URL => $url,
	// trueの場合、curl_exec() の戻り値が文字列
	CURLOPT_RETURNTRANSFER => true,
	// 接続の試行を待ち続ける秒数を指定
	CURLOPT_CONNECTTIMEOUT => 5,
	// falseの場合、サーバー証明書の検証をしない。HTTPS接続がエラーの際に設定
	CURLOPT_SSL_VERIFYPEER => false
);
curl_setopt_array($ch, $options);

// 転送を実行
$results = curl_exec($ch);

// cURLセッションを終了
curl_close($ch);
?>

cURL を利用する流れ

上記例のように、cURLを利用する基本的な流れは、以下となります。

  1. curl_init()により cURL セッションを初期化
  2. curl_setopt_array()またはcurl_setopt() により転送時のオプションを設定
  3. curl_exec() により転送を実行
  4. curl_close() によりセッションを終了

その他のcURL 関数・転送時のオプション

cURL 関数には、複数の cURL のハンドル(間接参照)を作成し非同期で実行できる関数など、上記以外の関数や転送時のオプションもあります。

詳しくは以下の参考サイト内を確認してみてください。

参考サイトなど

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はこちらから。

また、コメントは承認制となります。