阿姆斯特丹史基浦机场提供免费的航班信息API访问。我正在尝试建立一个简单的网站,使我自己可以看到这些信息。
十多年前,我已经使用html / php / mysql建立了网站,但是我完全迷失了这个json / curl / APIs的新世界。如果有人可以给我一个启动的机会或我可以建立的榜样,那就太好了。
在API网站上有一个有关如何使用该API的示例,但它根本不显示任何内容(附带代码)。
查看错误代码,未找到。
API网站:https://developer.schiphol.nl/apis/flight-api/v4/flights?version=latest
<html>
<head>
<title>Public flight</title>
</head>
<body>
<?php
echo '<h1>Public flight API</h1>';
$app_id = '7c1af90e';
$app_key = '35f61a4f0b2cacce9bc0d502ad56ce35';
$curl = curl_init('https://api.schiphol.nl/public-flights/flights');
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'resourceversion: v4',
'app_id: ' . $app_id,
'app_key: ' . $app_key
),
CURLOPT_SSL_VERIFYPEER => 0
));
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Error - ' . curl_error($curl);
} else {
$array = json_decode($response, true);
echo '<table>';
foreach ($array['flights'] as $flight) {
echo '<tr>';
echo '<td>' . $flight['flightName'] . '</td>';
echo '<td>' . (string) $flight['scheduleDate'] . '</td>';
echo '</tr>';
}
echo '</table>';
}
curl_close($curl);
?>
</body>
</html>
期望查看航班信息,但什么也不会显示。 HTML表为空。
答案 0 :(得分:0)
CURLOPT_HTTPHEADER => array(
'resourceversion: v4',
'app_id: ' . $app_id,
'app_key: ' . $app_key,
'accept: application/json'
),
在标头中,您必须接受application / json。然后,您将检索结果。我修复后在本地测试您的代码,并且html页面生成良好。
结果输出为:
Public flight API
HV5588 2019-07-16
SU2193 2019-07-16
KL3183 2019-07-16
AM7035 2019-07-16
HV6730 2019-07-16
KL2688 2019-07-16
HV5624 2019-07-16
KL2676 2019-07-16
HV5752 2019-07-16
KL2624 2019-07-16
HV5662 2019-07-16
KL2690 2019-07-16
HV6874 2019-07-16
KL2620 2019-07-16
HV5428 2019-07-16
KL2581 2019-07-16
HV6674 2019-07-16
KL2630 2019-07-16
HV5542 2019-07-16
HV6146 2019-07-16