40) { $bdate = "19{$bdate}"; } } /** * Έλεγχος παραμέτρων */ if ($amka == '' || $surname == '' || $bdate == '') { echo "Χρήση: {$argv[0]} [-v] --amka --surname ", PHP_EOL, " v: παραγωγή μηνυμάτων παρακολούθησης εκτέλεσης", PHP_EOL, " amka : ο αριθμός ΑΜΚΑ", PHP_EOL, "surname : επίθετο σε ΚΕΦΑΛΑΙΑ", PHP_EOL; exit(0); } /** * Παράμετροι αποστολής */ $data = [ 'ssn' => $amka, 'birthdate' => $bdate, 'surname' => $surname, ]; $url = $settings['url'] . '?' . http_build_query($data); if (isset($settings['extra_headers']) && is_array($extra_headers = $settings['extra_headers'])) { $headers = array_reduce(array_keys($extra_headers), function ($h, $key) use ($extra_headers) { array_push($h, "{$key}: {$extra_headers[$key]}"); return $h; }, []); } // Setup cURL $ch = curl_init($settings['url']); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array_merge([ "Authorization: Token {$settings['key']}", 'Content-Type: application/json' ], $headers)); curl_setopt($ch, CURLOPT_USERAGENT, "OSTEAM barebone php client"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 3); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_VERBOSE, isset($options['v'])); if (isset($settings['verify_ssl']) && $settings['verify_ssl'] === false) { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); } $result = curl_exec($ch); if (curl_errno($ch)) { die("Λάθος κατά την κλήση του {$uri}. Curl error: " . curl_error($ch) . " Curl info: " . var_export(curl_getinfo($ch), true)); } if (intval(($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) / 100) != 2) { die("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}"); } curl_close($ch); $responseData = json_decode($result, TRUE); array_walk($responseData, function ($v, $k) { echo "{$k}: {$v}" . PHP_EOL; }); // ή απλά print_r($responseData);