Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 11838|Válasz: 1

12306 jegyszerző szoftverrel kapcsolatos interfészek és adatformátumok

[Linket másol]
Közzétéve 2017. 09. 27. 10:15:39 | | |

Térjünk rögtön a lényegre: itt főként a jelenlegi 12306 funkciók interfészeiről és adatformátumairól szeretnék beszélni. Főként öt modulra oszlik: bejelentkezés, kapcsolattartók megszerzése, jegyek ellenőrzése, foglalás és befejezetlen megrendelések lekérdezése, ahogy néhány más nem fontos felület esetében is közvetlenül figyelmen kívül hagyhatod őket, például a hitelesítő kód azonosítása, a fennmaradó jegyek kérése stb., ez a cikk ki van írva, és ha szükséged van rá, magad is tanulmányozhatod.
       1. Bejelentkezés
             A bejelentkezés főként azért van, hogy megszerezze a játékmenetet és fenntartsa a kapcsolatot a szerverrel. Két fő lépés van a bejelentkezéshez
             Először szerezd meg a bejelentkezési ellenőrző kódot
                     Módszer: GET
                     Felület: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=login&rand=sjrand&
                     Paraméterek: másolás, ugyanaz
                     Hátul: Bináris képfolyam
             Második bejelentkezés
                    Módszer: POST
                    Felület: https://kyfw.12306.cn/otn/login/loginAysnSuggest
                    Paraméterek: 1. loginUserDTO.user_name Felhasználónév
                               2. randCode ellenőrző kód
                               3. userDTO.password jelszó
                     Visszatérítése: json string, amely meghatározhatja, hogy a bejelentkezés sikeres lesz-e
        2. Szerezz kontaktkontaktet
                    Módszer: GET
                    Interfész: https://kyfw.12306.cn/otn/passengers/init
                    Paraméterek: Nincsenek
                    Return: html fájl, találhatsz benne egy változót, ami json formátumban van, és felhasználói objektummá lehet értelmezni
        3. Jegyellenőrzés
                    Módszer: GET
                    Felület: https://kyfw.12306.cn/otn/leftTicket/query?
                    Paraméterek: leftTicketDTO.train_date: Jegyellenőrzés dátuma
                               leftTicketDTO.from_station: Kezdőállomás (ábécé szerinti kód)
                               leftTicketDTO.to_station: Célállomás (ábécé kód)
                               purpose_codes:FELNŐTT
                    Visszatér: Visszatér JSON formátumba és közvetlenül elemzés
         4. Foglalás
                   A kinevezés 6 lépésre oszlik, egyenként, egymáshoz kapcsolódó
                   Első: Előzetes beküldés
                            Módszer: POST
                            Felület: https://kyfw.12306.cn/otn/leftTicket/submitOrderRequest
                            Paraméter: secretStr: jegyellenőrzésből származik (minden vonathoz egy, minden alkalommal más, valós időben kell értelmezni)
                                      train_date: Foglalási dátum
                                     back_train_date: Visszatérési dátum
                                      tour_flag: DC
                                      purpose_codes:FELNŐTT
                                      query_from_station_name: Indulási állomás
                                      query_to_station_name: Célállomás
                                      Definiálhatatlan: egy üres lánc
                           Visszaküldés: Visszaadja a JSON formátumot, hogy megállapítsa, sikeres lesz-e a beküldés
                    Másod: Szerezd meg a megfelelő paramétereket
                            Módszer: POST
                            Felület: https://kyfw.12306.cn/otn/confirmPassenger/initDc
                             Paraméterek:
                              _json_att: Üres húr
                             Return: html fájl, amely hasznos a globalRepeatSubmitToken első néhány sorban történő elemzéséhez, és a ticketInfoForPassengerForm változó értékének alulról történő megszerzéséhez, json formátumban van, amelyből purpose_codes, key_check_isChange, leftTicketStr, train_locatio{filter} n a következő kötelezettségek előkészítése
                    Harmadszor: Szerezd meg a beküldési ellenőrző kódot
                              Módszer: GET
                             Felület: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=passenger&rand=randp&
                             Paraméterek:
                                      Nincs
                             Return: Visszaadja a kép bináris streamjét, pont úgy, mint a bejelentkezési ellenőrző kód
                     Negyedszer: Ellenőrizzék, hogy a beküldés megerősíthető-e
                             Módszer: POST
                              Felület: https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo
                              Paraméterek:
                                       cancel_flag:2
                                       bed_level_order_num:0000000000000000000000000000000000000
                                       utasTicketStr: Üléstípus, 0, jegytípus, név, személyazonosság, telefon, N (ha több van, vesszóval elválasztva)
                                       oldPassengerStr: név, azonosító típus, azonosító szám, felhasználói típus
                                       randCode: Ütemezett ellenőrzési kód
                                       tour_flag:dc
                                       _json_att: Üres húr
                                       REPEAT_SUBMIT_TOKEN: Tanuld meg az előző lépésből
                              Return: json formátum, hogy megállapítsuk, el lehet-e kötelezni
                    Ötödik: A benyújtás megerősítése
                                Módszer: POST
                                Felület: https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue
                                Paraméterek:
   
                                       utasTicketStr: Üléstípus, 0, jegytípus, név, személyazonosság, telefon, N (ha több van, vesszóval elválasztva)
                                       oldPassengerStr: név, azonosító típus, azonosító szám, felhasználói típus
                                       randCode: Ütemezett ellenőrzési kód
                                       purpose_codes: 3. lépés, hogy megszerezzük
                                       key_check_isChange: Ugyanígy
                                       leftTicketStr; Ugyanígy
                                       train_locatio{filter}n; Ugyanígy
                                       REPEAT_SUBMIT_TOKEN: Ugyanígy
                                       _json_att: Üres húr   
                               Visszaküldés: json formátum, határozd meg, hogy sikeres volt-e a beküldés, visszaadja a várakozási időt, és minden adott időszakban hívja a 6. lépést, hogy visszaadja a feldolgozási eredményt
                     Hatodik: Szavazás a beküldési eredmények megszerzéséhez
                               Módszer: GET
                               Felület: https://kyfw.12306.cn/otn/confirmPassenger/queryOrderWaitTime?
                               Paraméterek:
   
                                       véletlenszerű: Véletlenszámok
                                       tourFlag:dc   
                                       REPEAT_SUBMIT_TOKEN: Van egy harmadik rész is, amit meg kell szerezni
                                       _json_att: Üres húr   
                               Return: json formátum, a várakozási idő visszaadása, ha a waitTime kevesebb, mint 0, kapd meg a rendelési információt, OrderId, ha nagyobb, mint 0, folytasd a szavazást.
          5. Érdeklődjön a befejezetlen rendelésekről
                 Módszer: POST
                 Interfész: https://kyfw.12306.cn/otn/queryOrder/queryMyOrderNoComplete
                 Paraméterek:
                _json_att: Üres húr   
                Visszaküldés: JSON formátum, rendelési információkat tartalmaz, és közvetlenül elemz.

           Ha már emellett tartunk, az 5 funkció gyakorlatilag be van vezetve, de most már csak azért teszik közzé, hogy megtanulják használni, és nem fogják rosszindulatúan támadni, ráadásul a 12306-os weboldal felülete nagyon gyakran változik, és a most közzétett felület holnap is változhat, ezért a lényeg, hogy megtanuld megszerezni a releváns felületeket és adatokat, és elemezni az adatokat, hogy megkapjuk a megfelelő paramétereket és eredményeket. Itt főleg a firebug-ot használom, ami a chrom böngészőhöz tartozó hálózati elemző eszközt, valamint a fiddler és wireshark eszközöket, valamint a kapcsolódó eszközök használati utasításait, csak keresd meg az interneten.
            Végül panaszkodjunk, a 12306-os weboldal CDN statikus gyorsítótározási technológiát használ, ami a megfelelő szerverek kiválasztásához vezet a különböző régiók terheléselosztása, sávszélesség és terhelés szerint, vagyis az országban sok 12306-os szerver van. Minden felhasználó hozzáférhet a lehetséges szerverekhez, amelyek különböznek, de csak statikus oldalak, js, css és képek stb., de minden szerver közvetlenül megosztja a munkamenetet, vagyis ha bejelentkezel az egyik szerverre, más szervereken A fentiek egyenértékű azzal, hogy leszálltál. Ezért a legjobb, ha dinamikusan választhatsz szervert, hogy a gyorsítótár ideje naprakész legyen, a stressz minimális, és az adatok valós idejűbbek legyenek. Az én implementációmban, ha egyszer sem kérdezel le, egyszer megváltoztatod a szerver IP-címét. A releváns technológiát később elárulom. De ennek a cikknek a tartalma elegendő a tanuláshoz. A konkrét IP-címet a http://tool.chinaz.com/dns-ben láthatod.




Előző:{:1_3:} {:1_3:} Boldog nap
Következő:Hogyan másolja a js egy objektumot?
Közzétéve 2017. 09. 28. 9:19:34 |
A főnök fogja bevenni a jegyeket?
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com