Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 11838|Atsakyti: 1

12306 bilietų griebimo programinė įranga susijusios sąsajos ir duomenų formatai

[Kopijuoti nuorodą]
Paskelbta 2017-09-27 10:15:39 | | |

Pereikime tiesiai prie esmės, čia daugiausia noriu pakalbėti apie dabartinių 12306 funkcijų sąsajas ir duomenų formatus. Jis daugiausia skirstomas į penkis modulius: prisijungimas, kontaktų gavimas, bilietų tikrinimas, užsakymas ir nebaigtų užsakymų užklausa, kaip ir kai kurias kitas nesvarbias sąsajas, galite jų tiesiogiai ignoruoti, pavyzdžiui, nustatyti, ar patvirtinimo kodas yra teisingas, prašyti likusio bilietų skaičiaus ir pan., Šis straipsnis yra parašytas, ir, jei reikia, galite jį išstudijuoti patys.
       1. Prisijunkite
             Prisijungimas daugiausia skirtas sesijai gauti ir palaikyti ryšį su serveriu. Norint prisijungti, reikia atlikti du pagrindinius veiksmus
             Pirmiausia gaukite prisijungimo patvirtinimo kodą
                     Metodas: GET
                     Sąsaja: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=login&rand=sjrand&
                     Parametrai: kopijuoti, tas pats
                     Atgal: Dvejetainis paveikslėlio srautas
             Antrasis prisijungimas
                    Metodas: POST
                    Sąsaja: https://kyfw.12306.cn/otn/login/loginAysnSuggest
                    Parametrai: 1. loginUserDTO.user_name Vartotojo vardas
                               2. randCode patvirtinimo kodas
                               3. userDTO.password slaptažodis
                     Grąžina: json eilutė, kuri gali nustatyti, ar prisijungimas sėkmingas
        2. Gaukite kontaktus
                    Metodas: GET
                    Sąsaja: https://kyfw.12306.cn/otn/passengers/init
                    Parametrai: Nėra
                    Grąžinti: html failą, jame galite rasti kintamąjį, kuris yra json formatu ir gali būti išanalizuotas į vartotojo objektą
        3. Bilietų tikrinimas
                    Metodas: GET
                    Sąsaja: https://kyfw.12306.cn/otn/leftTicket/query?
                    Parametrai: leftTicketDTO.train_date: Bilietų patikros data
                               leftTicketDTO.from_station: Pradinė stotis (abėcėlės kodas)
                               leftTicketDTO.to_station: Paskirties stotis (abėcėlės kodas)
                               purpose_codes:SUAUGĘS
                    Return: grįžta į JSON formatą ir tiesiogiai analizuojama
         4. Rezervacija
                   Paskyrimas yra padalintas į 6 etapus, po vieną, tarpusavyje susijusius
                   Pirmas: išankstinis pateikimas
                            Metodas: POST
                            Sąsaja: https://kyfw.12306.cn/otn/leftTicket/submitOrderRequest
                            Parametras: secretStr: gaunamas tikrinant bilietus (po vieną kiekvienam traukiniui ir kiekvieną kartą skirtingas, reikia išanalizuoti realiu laiku)
                                      train_date: Užsakymo data
                                     back_train_date: Grįžimo data
                                      tour_flag: DC
                                      purpose_codes:SUAUGĘS
                                      query_from_station_name: Išvykimo stotis
                                      query_to_station_name: Paskirties stotis
                                      neapibrėžta: tuščia eilutė
                           Grąžinti: pateikia JSON formatą, kad nustatytų, ar pateikimas sėkmingas
                    Antra: gaukite atitinkamus parametrus
                            Metodas: POST
                            Sąsaja: https://kyfw.12306.cn/otn/confirmPassenger/initDc
                             Parametrai:
                              _json_att: tuščia eilutė
                             Return: html failas, naudingas analizuojant globalRepeatSubmitToken pirmose keliose eilutėse ir gaunant ticketInfoForPassengerForm kintamojo vertę iš apačios, yra json formatu, iš kurio purpose_codes, key_check_isChange, leftTicketStr, train_locatio{filter} n pasirengti šiems įsipareigojimams
                    Trečia: gaukite pateikimo patvirtinimo kodą
                              Metodas: GET
                             Sąsaja: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=passenger&rand=randp&
                             Parametrai:
                                      Nėra
                             Return: pateikia vaizdo dvejetainį srautą, kaip ir prisijungimo patvirtinimo kodą
                     Ketvirta: patikrinkite, ar paraišką galima patvirtinti
                             Metodas: POST
                              Sąsaja: https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo
                              Parametrai:
                                       cancel_flag:2
                                       bed_level_order_num:000000000000000000000000000000000000
                                       passengerTicketStr: Sėdynės tipas, 0, bilieto tipas, vardas, tapatybė, telefonas, N (jei yra daugiau nei vienas, atskirtas kableliu)
                                       oldPassengerStr: vardas, ID tipas, ID numeris, vartotojo tipas
                                       randCode: suplanuotas patvirtinimo kodas
                                       tour_flag:DC
                                       _json_att: tuščia eilutė
                                       REPEAT_SUBMIT_TOKEN: Gaukite jį iš ankstesnio veiksmo
                              Grąžinimas: json formatas, skirtas nustatyti, ar jį galima atlikti
                    Penkta: patvirtinkite pateikimą
                                Metodas: POST
                                Sąsaja: https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue
                                Parametrai:
   
                                       passengerTicketStr: Sėdynės tipas, 0, bilieto tipas, vardas, tapatybė, telefonas, N (jei yra daugiau nei vienas, atskirtas kableliu)
                                       oldPassengerStr: vardas, ID tipas, ID numeris, vartotojo tipas
                                       randCode: suplanuotas patvirtinimo kodas
                                       purpose_codes: 3 veiksmas, kad jį gautumėte
                                       key_check_isChange: Ten pat
                                       leftTicketStr; Ten pat
                                       train_locatio{filter}n; Ten pat
                                       REPEAT_SUBMIT_TOKEN: Ten pat
                                       _json_att: tuščia eilutė   
                               Grąžinti: JSON formatu, nustatyti, ar pateikimas sėkmingas, grąžinti laukimo laiką ir skambinti 6 veiksmą kas tam tikrą laikotarpį, kad grąžintumėte apdorojimo rezultatą
                     Šešta: apklausa, kad gautumėte pateikimo rezultatus
                               Metodas: GET
                               Sąsaja: https://kyfw.12306.cn/otn/confirmPassenger/queryOrderWaitTime?
                               Parametrai:
   
                                       atsitiktinis: atsitiktiniai skaičiai
                                       tourVėliava:dc   
                                       REPEAT_SUBMIT_TOKEN: Reikia gauti trečią dalį
                                       _json_att: tuščia eilutė   
                               Grąžinti: json formatas, grąžinti laukimo laiką, jei waitTime yra mažesnis nei 0, gauti užsakymo informaciją orderId, jei jis didesnis nei 0, tęsti apklausą
          5. Teiraukitės apie nebaigtus užsakymus
                 Metodas: POST
                 Sąsaja: https://kyfw.12306.cn/otn/queryOrder/queryMyOrderNoComplete
                 Parametrai:
                _json_att: tuščia eilutė   
                Grąžinimai: JSON formatas, yra užsakymo informacija ir analizuojama tiesiogiai

           Kalbant apie tai, 5 funkcijos iš esmės yra pristatytos, tačiau dabar ji skelbiama tik tam, kad išmoktų naudotis ir nebus piktybiškai puolama, be to, 12306 svetainės sąsaja keičiasi labai dažnai, o dabar paskelbta sąsaja gali būti pakeista rytoj, todėl svarbu išmokti paimti atitinkamas sąsajas ir duomenis bei analizuoti iš duomenų, kad gautumėte atitinkamus parametrus ir atitinkamus rezultatus. Čia daugiausia naudoju "firebug", tinklo analizės įrankį, kuris pateikiamas kartu su chromo naršykle, taip pat "Fiddler" ir "Wireshark" įrankius bei susijusių įrankių naudojimo instrukcijas, tiesiog ieškokite jo internete.
            Galiausiai, skųskimės, 12306 svetainėje naudojama CDN statinės talpyklos technologija, kuri leis pasirinkti atitinkamus serverius pagal apkrovos balansavimą skirtinguose regionuose, pralaidumą ir apkrovą, tai yra, visoje šalyje yra daug 12306 serverių Kiekvienas vartotojas gali pasiekti galimus serverius yra skirtingi, tačiau tik statiniai puslapiai ir js, css ir paveikslėliai ir kt., tačiau kiekvienas serveris tiesiogiai išlaikys sesiją bendrinama, tai yra, jei prisijungsite prie vieno iš serverių, kituose serveriuose Tai, kas išdėstyta aukščiau, taip pat prilygsta nusileidimui. Taigi geriausia turėti galimybę pasirinkti serverį dinamiškai, kad talpyklos laikas būtų atnaujintas, stresas būtų minimalus, o duomenys būtų daugiau realiuoju laiku. Mano įgyvendinime, jei nepateiksite užklausos vieną kartą, vieną kartą pakeisite serverio IP. Kalbant apie atitinkamą technologiją, ją atskleisiu vėliau. Tačiau šio straipsnio turinio pakanka mokymuisi. Konkretų IP adresą galite pamatyti http://tool.chinaz.com/dns.




Ankstesnis:{:1_3:} {:1_3:} Laiminga diena
Kitą:Kaip js kopijuoja objektą?
Paskelbta 2017-09-28 09:19:34 |
Ar viršininkas griebs bilietus?
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com