PHP: curlを使ってJSON形式のデータをPOSTする

phpのcurlでJSON形式のデータをPOSTするにはヘッダーに’Content-type: application/json’を指定する。
そして、CURLOPT_POSTFIELDSには配列ではなくJSON形式の文字列をセットする。

送信先のURLと送信するJSONデータを指定してデータを送信し、そのレスポンスを返す関数はこんな感じ。


/**
 * @param string $url 送信先のURL
 * @param string $data json形式のデータ
 * @return string リクエストのレスポンス
 */
function postJson($url, $data){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result=curl_exec($ch);
    curl_close($ch);
    return $result;
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です