"ed" parameter
Hello, a mav queryben az "ed" parameter mit takar? Valami hexa adatnak tunik (erteke most 5091ADF1, a multkor pl. 4FF6EB07 volt...), ez valami verzioszam vagy micsoda?
Comments (8)
-
repo owner -
Az, de az Elvira csak ugy fogad el http post kerest, ha az a bizonyos szam egyezik a mavnal tarolt szammal. Vagy te nem post-on keresztul adod at neki az adatokat?
-
repo owner vannak speciális url-ek ahova POST kérést vár (ezekre az api nyújt is GET-tel elérhető url-eket illetve normalizálja a válaszokat is), de általában GET-tel is megy.
Az "ed" paramétert a vonatinfónál használják, ott pl GET kéréssel is simán elkérhető az információ (bár az elvira mindig HTML-t fog visszaadni, míg az api több formátumban is képes kiszolgálni a kérést).
ui: igen a számnak egyeznie kell, bár ezt nem nagyon teszteltem, hiszen mindig live adatokkal dolgozik az api, azaz amit visszakap az elvirától azt adja tovább. ui2: mi lenne a use-case ahol ez az ed paraméter állandósága olyan fontos lenne?
-
Igen, a vonatinfonal is hasznaljak, de a fooldalon, ahol a "honnan", "hova", stb. mezok, es a keresogomb van... az Elvira innen is varja az "ed" parametert, postban, es itt fontos, hogy allando legyen. Ha megnezed, az oldal szerveroldalon kap egy "ed" parametert, ami a "Menetrend" gombra kattintas utan egy hidden valueben visszaadodik az szervernek (ugy mint "ed") - ha ez nem egyezik azzal, ami oldalletoltesnel a fooldalban szerepel, akkor atiranyit egy "A menetrend adatbázisa frissült. Kérjük, lépjen a nyitóoldalunkra." szovegu oldalra. Vagy te a vonatok adatait nem igy kapod meg? A "elvira.dll/xslvzs/uf" cimre kuldod a postot, nem?
-
repo owner Hát én ott nem is adok át ed paramétert, íme egy kérés curl-lel megírva:
curl -X POST -d i=Budapest -d e=Szeged -d language=1 -d d=2012.11.02 http://elvira.mav-start.hu/elvira.dll/uf
-
Oh, lol... nekem eszembe sem jutott, hogy ne adjak at ed-t. Probaltam ugy, hogy ed = 0, ugy hogy ed = "", es ugy hogy ed = null, de sehogy sem volt jo. Utoljara, irtam egy scriptet, ami idonkent lekeri az Elviratol ezt az "ed" parametert, fajlba irja, a scriptem pedig onnan olvassa ki..... Kosz a megoldasert!
$nElviraLastversion = file_get_contents("elvira-version"); $qs = (urldecode($_SERVER['QUERY_STRING'])); $inp = json_decode($qs, false); $utdata = array( "ed" => $nElviraLastversion, "mikor" => "-1", "isz" => "0", "language" => "1", "k" => "", "ref" => "", "retur" => "", "nyit" => "", "vparam" => "", "i" => $inp->start, "d" => "12.10.28", "u" => "27", "v" => $inp->via, "go" => "Menetrend", "e" => $inp->target ); $postdata = http_build_query($utdata); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://elvira.mav-start.hu/elvira.dll/uf"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_FAILONERROR, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_PORT, 80); curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate,sdhc"); curl_setopt($ch, CURLOPT_REFERER, "http://elvira.mav-start.hu/"); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0"); curl_setopt($ch, CURLOPT_HTTPHEADER, array ("Origin: http://elvira.mav-start.hu", "Connection: keep-alive", "Cache-Control: max-age=0", "Content-Type: application/x-www-form-urlencoded", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.3", "Accept-Encoding: gzip,deflate,sdch", "Accept-Language: hu-HU,hu;q=0.8,en-US;q=0.6,en;q=0.4" )); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); $buf = curl_exec($ch); if ( $buf === false) throw new Exception("Nem sikerult felvenni a szerverrel a kapcsolatot, probalkozzon kesobb!");
-
repo owner Hát még ezt a sok setopt se kell, mert amit írtam parancs az is visszaad mindent. :)
-
repo owner - changed status to resolved
- Log in to comment
Gondolom a Mávnak vmi belső azonosító.
Fogalmam sincs, hogy mire használják, én a MÁV paramétereket nem módosítom.