API POST-parametreilla PHP:ssä

API-parametreja voidaan välittää ei vain GET-metodilla, vaan myös POST-metodilla. Katsotaanpa, kuinka se tehdään. Oletetaan, että API:mme odottaa dataa POST-metodilla:

api.loc/index.php<?php
  echo mt_rand($_POST['num1'], $_POST['num2']);
?>

Tehdäänpyyntö tähän API:hin. Tätä varten tarvitsemme cURL-kirjaston. Tehdään POST-pyyntö sen avulla:

tst.loc/index.php<?php
  $url = 'http://api.loc/index.php';
  
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_POST, 1);
  
  $data = ['num1'=>'1', 'num2'=>'100'];
  curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  
  $res = curl_exec($curl);
  
  var_dump($res);
?>
Задание 1

Tee API, joka POST-datana vastaanottaa eläinmerkin ja päivämäärän, ja palauttaa horoskoopin kyseiselle eläinmerkkille annettuna päivämääränä.