PHPのcURLを利用してAPIをGET/POSTで叩く

PHPからcURLを利用してhttpのget, postで問い合わせを行ってみます。
今回はYAHOOのapiを叩くプログラムを書いてみます。

CURLでGET

まずはGETでの問い合わせです。

// コネクションを開く  
$conn = curl_init();  
  
// サーバ証明書の検証は行わない。  
curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);  
curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, false);  
  
// curl_execの実行結果を文字列として取得できるように設定  
curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);  
  
// 問い合わせ先のurlを指定  
curl_setopt($conn, CURLOPT_URL,  self::YAHOO_API_URL);  
  
// パラメータを設定  
curl_setopt($conn, CURLOPT_POSTFIELDS, http_build_query($param));  
  
// 問い合わせを行い、その結果を取得  
$result = curl_exec($conn);  
  
// コネクションを切断  
curl_close($conn);  

self::YAHOO_API_URLはこのクラス内にconstで宣言したフィールドを呼び出しています。
initでコネクションを開いて、setoptでオプションを指定し、execで問い合わせ実行。
その後closeで閉じるというわけすね。

比較的簡単に問い合わせが行えるものなのですね。
ただオプションが多いので、もっとしっかりと利用しようと思うと少し調査しないとですね。

CURLでPOST

次はPOSTで問い合わせを行ってみます。

// コネクションを開く  
$conn = curl_init();  
  
// サーバ証明書の検証は行わない。  
curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);  
curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, false);  
  
// curl_execの実行結果を文字列として取得できるように設定  
curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);  
  
// POSTで送信するように設定  
curl_setopt($conn, CURLOPT_POST, true);  
  
// 問い合わせ先のurlを指定  
curl_setopt($conn, CURLOPT_URL,  self::YAHOO_API_URL);  
  
// パラメータを設定  
curl_setopt($conn, CURLOPT_POSTFIELDS, http_build_query($param));  
  
// 問い合わせを行い、その結果を取得  
$result = curl_exec($conn);  
  
// コネクションを切断  
curl_close($conn);  

基本的にGETと同じで、オプションが一つ追加されています。
お手軽です。

参考サイト

今回参考とさせていただいたので以下のサイトです。
零弐壱蜂
PHPのcurlでPOST

参考というか、ままというか……。