目次
1.環境
2.サンプルコード
/**
*
* @method sendApi
* @param [type] $url [description]
* @param [type] $request_param [description]
* @param [type] $option [description]
* @return [type] [description]
*/
public static function sendApi($url, $request_param, $options=null)
{
$result = null;
Log::debug($url);
Log::debug(var_export($request_param, true));
if (!empty($url))
{
if($options != null)
{
}
Log::debug("★Error Number : ".$errno);
if(CURLE_OK == $errno)
{
//ヘッダサイズ除去
$result = substr($result, $getInfo["header_size"]); //⑥
Log::debug(var_export($result, true));
} else {
$result = null;
}
//Json形式から配列に変換
//$result = json_decode($body, true);
}
return $result;
}
3.解説
3-1. curl_init()
セッションを初期化する。
これは、必ず最初に行う。その戻り値として受け取ったセッションをパラメータに渡して以降の関数を呼び出す。
上記の関数は配列でまとめて渡す場合の関数
ここに渡す場合は、curl_setoptを使用する。
HTTPリクエストを実行する。
リクエストした結果情報を受け取る。
この中にレスポンスボディも入っているので、その部分を取得することでリクエスト結果が取得できる。
抜き出し方は⑥を参照
リクエストの結果ステータスを取得することができる。
エラーが発生した場合はエラー情報なども取得が可能。
本ソースコードでは、これをチェックしてOKならばレスポンスボディの値を取得する処理を実装している。
4.補足
以下はCurlOptionの参考までに
※詳しくはPHPリファレンスを参照
$curl_opt = array(
CURLOPT_URL => $url,
CURLOPT_POSTFIELDS => http_build_query($request_param),
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER => TRUE,
CURLOPT_POST => TRUE,
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_HTTPHEADER => $header
);