72 lines
2.6 KiB
PHP
Executable File
72 lines
2.6 KiB
PHP
Executable File
<?php
|
|
// Данные для авторизации (логин и пароль OpenSky)
|
|
$username = 'negative';
|
|
$password = 'zaq1xsw2';
|
|
|
|
// Настройки рейса
|
|
$carrier = "SU"; // Код авиакомпании
|
|
$flightNumber = "1231"; // Номер рейса
|
|
$flightDate = "2025-01-18"; // Дата рейса в формате YYYY-MM-DD
|
|
|
|
// Настройка лог-файла
|
|
$logDir = __DIR__ . '/logs';
|
|
if (!is_dir($logDir)) {
|
|
mkdir($logDir, 0777, true);
|
|
}
|
|
$logFile = $logDir . '/opensky.log';
|
|
|
|
// Функция для логирования
|
|
function writeLog($message) {
|
|
global $logFile;
|
|
$timestamp = date('Y-m-d H:i:s');
|
|
file_put_contents($logFile, "[$timestamp] $message" . PHP_EOL, FILE_APPEND);
|
|
}
|
|
|
|
// Формирование временного диапазона
|
|
$begin = strtotime($flightDate . ' 00:00:00'); // Начало дня в формате UNIX
|
|
$end = strtotime($flightDate . ' 23:59:59'); // Конец дня в формате UNIX
|
|
|
|
// Формирование запроса к OpenSky Network API
|
|
$url = "https://opensky-network.org/api/flights/departure?airport=UUEE&begin=$begin&end=$end";
|
|
|
|
writeLog("Отправка запроса к API OpenSky Network: $url");
|
|
|
|
// Выполнение запроса
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
|
'Authorization: Basic ' . base64_encode("$username:$password"),
|
|
]);
|
|
$response = curl_exec($ch);
|
|
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
curl_close($ch);
|
|
|
|
// Логируем результат
|
|
writeLog("HTTP-код ответа: $httpCode");
|
|
writeLog("Ответ API: $response");
|
|
|
|
// Обработка ответа
|
|
if ($httpCode === 200) {
|
|
$data = json_decode($response, true);
|
|
|
|
if (is_array($data) && count($data) > 0) {
|
|
foreach ($data as $flight) {
|
|
if (isset($flight['callsign']) && $flight['callsign'] === $carrier . $flightNumber) {
|
|
$output = "Рейс: " . $flight['callsign'] . "<br>";
|
|
$output .= "Вылет: " . $flight['estDepartureAirport'] . " в " . date('Y-m-d H:i:s', $flight['firstSeen']) . "<br>";
|
|
$output .= "Прилет: " . $flight['estArrivalAirport'] . " в " . date('Y-m-d H:i:s', $flight['lastSeen']) . "<br>";
|
|
echo $output . "<hr>";
|
|
writeLog("Данные рейса: $output");
|
|
}
|
|
}
|
|
} else {
|
|
echo "Рейсы не найдены.";
|
|
writeLog("Рейсы не найдены.");
|
|
}
|
|
} else {
|
|
echo "Ошибка API: HTTP-код $httpCode";
|
|
writeLog("Ошибка API: HTTP-код $httpCode");
|
|
}
|
|
?>
|