Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 11838|Odgovoriti: 1

12306 programska oprema, povezana s programsko opremo in podatkovnimi formati

[Kopiraj povezavo]
Objavljeno na 27. 09. 2017 10:15:39 | | |

Pojdimo naravnost k bistvu, tukaj želim predvsem govoriti o vmesnikih in podatkovnih formatih trenutnih funkcij 12306. Večinoma je razdeljen na pet modulov: prijava, pridobivanje stikov, preverjanje vstopnic, rezervacija in poizvedba po nedokončanih naročilih; kar se tiče nekaterih drugih vmesnikov, ki niso pomembni, jih lahko neposredno ignorirate, kot je zaznavanje pravilnosti verifikacijske kode, zahteva za preostalo število vstopnic itd., ta članek je napisan in ga lahko preučite sami, če ga potrebujete.
       1. Prijava
             Prijava je predvsem za prenos seje in vzdrževanje komunikacije s strežnikom. Obstajata dva glavna koraka za prijavo
             Najprej pridobite kodo za preverjanje prijave
                     Metoda: GET
                     Vmesnik: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=login&rand=sjrand&
                     Parametri: kopirano, enako
                     Nazaj: Binarni slikovni tok
             Druga prijava
                    Metoda: POST
                    Vmesnik: https://kyfw.12306.cn/otn/login/loginAysnSuggest
                    Parametri: 1. loginUserDTO.user_name uporabniško ime
                               2. Preverjanje kode randCode
                               3. userDTO.geslo
                     Vrne: nizek json, ki lahko določi, ali je prijava uspešna
        2. Pridobite kontakte
                    Metoda: GET
                    Vmesnik: https://kyfw.12306.cn/otn/passengers/init
                    Parametri: Brez
                    Return: html datoteka, v njej lahko najdete spremenljivko, ki je v json formatu in jo je mogoče razčleniti v uporabniški objekt
        3. Preverjanje vozovnic
                    Metoda: GET
                    Vmesnik: https://kyfw.12306.cn/otn/leftTicket/query?
                    Parametri: leftTicketDTO.train_date: Datum preverjanja vstopnice
                               leftTicketDTO.from_station: Začetna postaja (abecedna koda)
                               leftTicketDTO.to_station: Ciljna postaja (abeceda)
                               purpose_codes: ODRASLI
                    Vrnitev: Vrne se v JSON format in neposredno razčlenjuje
         4. Rezervacija
                   Termin je razdeljen na 6 korakov, ki so med seboj povezani
                   Prva: Predoddaja
                            Metoda: POST
                            Vmesnik: https://kyfw.12306.cn/otn/leftTicket/submitOrderRequest
                            Parameter: secretStr: pridobljeno s preverjanjem vozovnic (ena za vsak vlak, vsakič drugačna, mora biti razčlenjena v realnem času)
                                      train_date: Datum rezervacije
                                     back_train_date: Datum vrnitve
                                      tour_flag: DC
                                      purpose_codes: ODRASLI
                                      query_from_station_name: Odhodna postaja
                                      query_to_station_name: Ciljna postaja
                                      Nedefinirano: prazen niz
                           Return: Vrne JSON format, da ugotovi, ali je oddaja uspešna
                    Drugič: Pridobite ustrezne parametre
                            Metoda: POST
                            Vmesnik: https://kyfw.12306.cn/otn/confirmPassenger/initDc
                             Parametri:
                              _json_att: Prazen niz
                             Return: html datoteka, uporabna pri razčlenjevanju globalRepeatSubmitToken v prvih vrsticah in pridobivanju vrednosti spremenljivke ticketInfoForPassengerForm spodaj, je v json formatu, iz katerega purpose_codes, key_check_isChange, leftTicketStr, train_locatio{filter} n za pripravo na naslednje commit-e
                    Tretjič: pridobite kodo za preverjanje prispevka
                              Metoda: GET
                             Vmesnik: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=passenger&rand=randp&
                             Parametri:
                                      Nobenega
                             Return: Vrne binarni tok slike, tako kot koda za preverjanje prijave
                     Četrtič: Preverite, ali je mogoče potrditi oddajo
                             Metoda: POST
                              Vmesnik: https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo
                              Parametri:
                                       cancel_flag:2
                                       bed_level_order_num:00000000000000000000000000000
                                       passengerTicketStr: Vrsta sedeža, 0, vrsta vozovnice, ime, identiteta, telefon, N (če jih je več, ločeno s vejico)
                                       oldPassengerStr: Ime, vrsta osebne izkaznice, ID številka, uporabniška vrsta
                                       randCode: Načrtovana verifikacijska koda
                                       tour_flag:dc
                                       _json_att: Prazen niz
                                       REPEAT_SUBMIT_TOKEN: Vzemi ga iz prejšnjega koraka
                              Return: json format, da ugotovimo, ali se lahko potrdi
                    Petič: Potrdite oddajo
                                Metoda: POST
                                Vmesnik: https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue
                                Parametri:
   
                                       passengerTicketStr: Vrsta sedeža, 0, vrsta vozovnice, ime, identiteta, telefon, N (če jih je več, ločeno s vejico)
                                       oldPassengerStr: Ime, vrsta osebne izkaznice, ID številka, uporabniška vrsta
                                       randCode: Načrtovana verifikacijska koda
                                       purpose_codes: Korak 3, da ga dobiš
                                       key_check_isChange: Prav tako
                                       leftTicketStr; Prav tako
                                       train_locatio{filter}n; Prav tako
                                       REPEAT_SUBMIT_TOKEN: Prav tako
                                       _json_att: Prazen niz   
                               Vrni: json format, ugotovi, ali je oddaja uspešna, vrni čakalni čas in pokliči korak 6 vsako določeno obdobje, da vrneš rezultat obdelave
                     Šesto: Anketa za rezultate oddaje
                               Metoda: GET
                               Vmesnik: https://kyfw.12306.cn/otn/confirmPassenger/queryOrderWaitTime?
                               Parametri:
   
                                       naključno: Naključna števila
                                       tourFlag:dc   
                                       REPEAT_SUBMIT_TOKEN: Obstaja tretji del, ki ga je treba pridobiti
                                       _json_att: Prazen niz   
                               Vrni: json format, vrni čakalni čas, če je waitTime manjši od 0, dobi informacijo o naročilu orderId, če je večji od 0, nadaljuj z anketiranjem
          5. Pozanimajte se o nedokončanih naročilih
                 Metoda: POST
                 Vmesnik: https://kyfw.12306.cn/otn/queryOrder/queryMyOrderNoComplete
                 Parametri:
                _json_att: Prazen niz   
                Vračila: JSON format, vsebuje informacije o vrstnem redu in neposredno razčlenjuje

           Kar se tiče tega, je v bistvu uvedenih 5 funkcij, vendar je zdaj objavljena le zato, da se naučite uporabljati in ne bo zlonamerno napadena, poleg tega se vmesnik spletne strani 12306 zelo pogosto spreminja, trenutno objavljeni vmesnik pa se lahko spremeni že jutri, zato je pomembno, da se naučite pridobivati ustrezne vmesnike in podatke ter analizirati podatke, da dobite ustrezne parametre in ustrezne rezultate. Tukaj večinoma uporabljam firebug, orodje za analizo omrežij, ki je priloženo brskalniku Chrome, pa tudi orodja Fiddler in Wireshark ter navodila za uporabo sorodnih orodij, samo poiščite jih na internetu.
            Nazadnje, pritožimo se, spletna stran 12306 uporablja CDN tehnologijo statičnega predpomnjenja, kar vodi do izbire ustreznih strežnikov glede na uravnoteženje obremenitve v različnih regijah, pasovno širino in obremenitev, torej obstaja veliko strežnikov 12306 po vsej državi. Vsak uporabnik lahko dostopa do različnih strežnikov, vendar so to le statične strani in js, css, slike itd., vendar bo vsak strežnik neposredno ohranjal sejo deljeno, torej, če se prijavite na enega od strežnikov, na drugih strežnikih Zgornje je tudi enakovredno pristanku. Zato je najbolje, da lahko strežnik izberete dinamično, da so časi predpomnilnika ažurni, stres minimalen in podatki bolj v realnem času. V moji izvedbi, če ne poizvedujete enkrat, boste enkrat spremenili IP strežnika. Kar zadeva ustrezno tehnologijo, jo bom razkril kasneje. A vsebina tega članka je dovolj za učenje. Specifični IP naslov lahko vidite v http://tool.chinaz.com/dns.




Prejšnji:{:1_3:} {:1_3:} Srečen dan
Naslednji:Kako js kopira objekt?
Objavljeno na 28. 09. 2017 09:19:34 |
Ali bo šef vzel vstopnice?
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com