@ששא כתב ביש אולי רשימה של כל קווי האוטובוסים הקיימים עם התחנות שלהם (או אולי יש API לזה)?:
@אביי כתב ביש אולי רשימה של כל קווי האוטובוסים הקיימים עם התחנות שלהם (או אולי יש API לזה)?:
@ששא השירות הרשמי כאן למידע על קוים, תחנות, מיקומים וזמני הגעה https://www.gov.il/he/departments/general/real_time_information_siri
מישהו מתמצא בזה?
בתיעוד שלהם כתוב לכאורה שלקבלת כל תחנות הקו צריך לעשות קריאה ככה
/json?Key=DM1234&MonitoringRef=all&LineRef=5
זה לקבלת כל התחנות של קו 5
זה נכון?
אז ניסיתי לעשות אצלי ככה
<?php
$data = array(
'Key' => '***',
'MonitoringRef' => 'all',
'LineRef' => '5'
);
$json_data = json_encode($data);
$url = 'http://*****/2.8/json';
// הגדרת אפשרויות הבקשה
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/json',
'content' => $json_data
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
echo $response;
?>
ואני מקבל Failed to open stream: HTTP request failed!
ניסיתי ככה
<?php
$data = array(
'Key' => '***',
'MonitoringRef' => 'all',
'LineRef' => '5'
);
$json_data = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://***/2.8/json');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'שגיאת cURL: ' . curl_error($ch);
}
curl_close($ch);
echo $response;
?>
ואני מקבל שגיאת cURL: Recv failure: Connection reset by peer
למה זה?
בעיקרון קיבלתי מהם גישה לכתובת IP של השרת שלי!
יכול להיות שאם אני מריץ את הקישור של הקוד PHP הזה בדפדפן אני שולח לו את ה IP שלי ולא של השרת? או אולי נשלח לו כתובת הדומיין ולא ה IP שאותו פתחו לי?
מה הבעיה?
א. זה לא זה?
https://data.gov.il/api/3/action/datastore_search?resource_id=e873e6a2-66c1-494f-a677-f5e77348edb0&limit=1
ב. למה צריך אישור לכתובת ip של שרת ממני זה לא דורש?