יש אולי רשימה של כל קווי האוטובוסים הקיימים עם התחנות שלהם (או אולי יש API לזה)?
-
@dovid כתב ביש אולי רשימה של כל קווי האוטובוסים הקיימים עם התחנות שלהם (או אולי יש API לזה)?:
הקבצים זמינים להורדה פה
https://gtfs.mot.gov.il/gtfsfiles/
מתעדכנים כל לילה. -
@dovid כתב ביש אולי רשימה של כל קווי האוטובוסים הקיימים עם התחנות שלהם (או אולי יש API לזה)?:
ב. אתה לדעתי לא משתמש בכלל בAPI הנכון, כי הן מהדף אליו הפנית והן מלשון הפרמטר MonitoringRef נשמע שאתה עובד מול מידע זמן אמת, בעוד שתחנות קו זה מידע סטטי ולא מידע זמן אמת
אבל יש שם את האפשרות הזאת למעשה
-
יש שם הרבה מידע נראה לי שיש גם את המידע הזה
אבל זה ממש לא בצורה מסודרת ונורמלית.
המידע מאורגן במערך נתונים GTFS
ע"פ איזה פרויקט של גוגל בשם google Transit
https://developers.google.com/transit?hl=he
(ולענ"ד זה לא מהפרויקטים שהוסיפו כבוד לגוגל)
ובקיצור צריך להזיע הרבה בשביל לשלוף את המידע -
@ששא כתב ביש אולי רשימה של כל קווי האוטובוסים הקיימים עם התחנות שלהם (או אולי יש 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 של שרת ממני זה לא דורש?