73 lines
2.6 KiB
PHP
73 lines
2.6 KiB
PHP
|
|
<?php
|
|||
|
|
// Ваши данные для авторизации
|
|||
|
|
$appId = "6ceb88f8";
|
|||
|
|
$appKey = "44be8058920f6efb3e64446bc1c030c4";
|
|||
|
|
|
|||
|
|
// Базовый URL API Cirium
|
|||
|
|
$baseUrl = "https://api.flightstats.com/flex/flightstatus/rest/v2/json/flight/status";
|
|||
|
|
|
|||
|
|
// Параметры запроса
|
|||
|
|
$carrier = "SU"; // Код авиакомпании (например, "SU" для Аэрофлота)
|
|||
|
|
$flightNumber = "1231"; // Номер рейса
|
|||
|
|
$flightDate = "2025/01/16"; // Дата рейса (формат YYYY/MM/DD)
|
|||
|
|
|
|||
|
|
// Сформируем URL для запроса
|
|||
|
|
$url = "{$baseUrl}/{$carrier}/{$flightNumber}/dep/{$flightDate}?appId={$appId}&appKey={$appKey}";
|
|||
|
|
|
|||
|
|
// Путь к папке для логов
|
|||
|
|
$logDir = __DIR__ . '/logs';
|
|||
|
|
if (!is_dir($logDir)) {
|
|||
|
|
mkdir($logDir, 0777, true);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Путь к лог-файлу
|
|||
|
|
$logFile = $logDir . '/cirium_api.log';
|
|||
|
|
|
|||
|
|
// Функция логирования
|
|||
|
|
function writeLog($message)
|
|||
|
|
{
|
|||
|
|
global $logFile;
|
|||
|
|
$timestamp = date('Y-m-d H:i:s');
|
|||
|
|
file_put_contents($logFile, "[$timestamp] $message" . PHP_EOL, FILE_APPEND);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Логируем отправку запроса
|
|||
|
|
writeLog("Отправка запроса к API Cirium: $url");
|
|||
|
|
|
|||
|
|
// Настраиваем cURL
|
|||
|
|
$ch = curl_init();
|
|||
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|||
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|||
|
|
curl_setopt($ch, CURLOPT_HTTPGET, true);
|
|||
|
|
|
|||
|
|
// Выполняем запрос
|
|||
|
|
$response = curl_exec($ch);
|
|||
|
|
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|||
|
|
$curlError = curl_error($ch);
|
|||
|
|
curl_close($ch);
|
|||
|
|
|
|||
|
|
// Логируем ответ
|
|||
|
|
writeLog("HTTP-код ответа: $httpCode");
|
|||
|
|
writeLog("Ответ API: $response");
|
|||
|
|
|
|||
|
|
// Обрабатываем ответ
|
|||
|
|
if ($httpCode === 200 && $response) {
|
|||
|
|
$data = json_decode($response, true);
|
|||
|
|
|
|||
|
|
// Выводим основные данные о рейсе
|
|||
|
|
echo "Рейс: {$data['flightStatus']['carrierFsCode']}{$data['flightStatus']['flightNumber']}<br>";
|
|||
|
|
echo "Статус: {$data['flightStatus']['status']}<br>";
|
|||
|
|
echo "Вылет: {$data['flightStatus']['departureAirportFsCode']} ({$data['flightStatus']['operationalTimes']['scheduledGateDeparture']['dateLocal']})<br>";
|
|||
|
|
echo "Прилет: {$data['flightStatus']['arrivalAirportFsCode']} ({$data['flightStatus']['operationalTimes']['scheduledGateArrival']['dateLocal']})<br>";
|
|||
|
|
} else {
|
|||
|
|
// Логируем ошибки
|
|||
|
|
if ($curlError) {
|
|||
|
|
writeLog("Ошибка cURL: $curlError");
|
|||
|
|
echo "Ошибка cURL: $curlError<br>";
|
|||
|
|
} else {
|
|||
|
|
writeLog("Ошибка API: HTTP-код $httpCode, ответ: $response");
|
|||
|
|
echo "Ошибка API: HTTP-код $httpCode<br>";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
?>
|