LoginSignup
15
18

More than 3 years have passed since last update.

curlを使用して外部APIの情報を取得

Posted at

curlとは

cURLとは、HTTPリクエストをすることにより、外部サイトの情報を取得することができる関数です。
https://www.sejuku.net/blog/26754

curl_init()

cURLのセッションを初期化し、返り値にcURLハンドルを返します。

curl_init ([ string $url = NULL ] )

curl_setopt()

cURLの転送用オプションを設定します。返り値にはboolean型の値を返します。

curl_setopt ( resource $cURLハンドル , int $オプション , mixed $値 )

curl_exec()

cURLのセッションの実行時に使用します。この関数はセッションの初期化、オプション設定後に使用する必要があります。

curl_exec ( resource $cURLハンドル )

curl_close()

cURLのセッションを閉じるときに使用します。

curl_close ( resource $cURLハンドル )

基本的な使い方

curl.php
<?php

$url = "https://www.aaa.com/";

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

//URLとオプションを指定する
curl_setopt($ch, CURLOPT_URL, $url);//取得するURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//curl_exec()の返り値を文字列で返す。通常はデータを直接出力。

//URLの情報を取得し、ブラウザに渡す
$res =  curl_exec($ch);

//結果を表示する
var_dump($res);

//セッションを終了する
curl_close($conn);

?>

このコードを実行すると、ブラウザに指定したURLを表示する。
cURL関数はhttpのほかにhttpsによるSSL/TSL認証にも対応。

【実例】ビットコイン価格を取得し、表示する

curl;.php
<?php
//ビットコインの各種情報
$url = "https://api.bitflyer.jp/v1/ticker?product_code=BTC_JPY";

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

//URLとオプションを指定する
curl_setopt($ch, CURLOPT_URL, $url);//取得するURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//curl_exec()の返り値を文字列で返す

//URLの情報を取得
$response = curl_exec($ch);
$result = json_decode($response);//取得したURLのJSONコードをデコードし$resultに代入
echo '現在のBTC価格は:' . number_format($result->ltp) . '円';//ビットコイン価格を表示

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

「ltp」項目の右に表示されている数字が、bitFlyerでの現在のビットコイン価格
$result->ltpでビットコイン価格取得

number_format()
パラメータが一つの場合、千位毎にカンマ(,)を追加する

JSONとは

JSONとは、JavaScript Object Notationの略でデータフォーマットの一種。

JSON形式のデータ

{
"name" : "JSON",
"age" : "30",
"gender" : "male",
}

波括弧で括り、その中がデータ。
コロン(:)の左側が「key」、右側が「value」

15
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
18