Klic POST v PHP

 

Primer klica »POST« v PHP

$identifier = '9b03c8cdf967d24a';
$private_key = '0a68ff8b77272baf5a04f3b656f27fb5250438bc21d7707515a1b506a3a8491b';
 
// GET params
$params = 'action=getSurveyQuestions'; // Funkcija, ki jo elimo izvesti
$params .= '&ank_id=705'; // ostali parametri potrebni za klic funkcije (id ankete, vpraanja...)
 
// POST data
$post_data = array(
 "naslov" => "Naslov vpraanja...",
 "vrednost" => "123",
);
 
// Pripravimo podatke za hashiranje
$request_method = 'POST';
$request = 'http://anketa.nijz.si/admin/survey/api/api.php?'.$params;
$raw_post_data = http_build_query($post_data);
 
$data = $request_method . $request . $raw_post_data;
 
// Izracunamo hash (token)
$token = hash_hmac('sha256', $data, $private_key);
 
// Pripravimo klic – dodamo parametra »identifikator« in »token«
$ch = curl_init($request.'&identifier='.$identifier.'&token='.$token);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); // JSON string za POST
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
// Izvedemo klic
$result = curl_exec($ch);