Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 11838|Vastaus: 1

12306-lipun hankintaohjelmistoihin liittyvät rajapinnat ja tietomuodot

[Kopioi linkki]
Julkaistu 27.9.2017 10.15.39 | | |

Mennään suoraan asiaan, tässä haluan pääasiassa puhua nykyisten 12306-funktioiden rajapinnoista ja tietomuodoista. Se on pääosin jaettu viiteen moduuliin: kirjautuminen, yhteystietojen saaminen, lippujen tarkistaminen, varaus ja keskeneräisten tilausten kysely, ja joidenkin muiden ei-tärkeiden käyttöliittymien kohdalla voit suoraan jättää huomiotta, kuten varmennuskoodin oikeellisuuden tunnistaminen, jäljellä olevan tikettimäärän pyytäminen jne., tämä artikkeli on kirjoitettu ylös, ja voit opiskella sitä itse, jos tarvitset.
       1. Kirjaudu sisään
             Kirjautuminen on pääasiassa istunnon saamiseksi ja yhteydenpidon ylläpitämiseksi palvelimen kanssa. Kirjautumiseen on kaksi päävaihetta
             Ensiksi hanki kirjautumisvahvistuskoodi
                     Menetelmä: GET
                     Käyttöliittymä: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=login&rand=sjrand&
                     Parametrit: kopioi, sama
                     Takaisin: Binäärikuvavirta
             Toinen kirjautuminen
                    Menetelmä: POST
                    Käyttöliittymä: https://kyfw.12306.cn/otn/login/loginAysnSuggest
                    Parametrit: 1. loginUserDTO.user_name Käyttäjänimi
                               2. randCode-vahvistuskoodi
                               3. userDTO.password-salasana
                     Palautukset: json-merkkijono, joka voi määrittää, onnistuuko kirjautuminen
        2. Hanki piilolinssit
                    Menetelmä: GET
                    Käyttöliittymä: https://kyfw.12306.cn/otn/passengers/init
                    Parametrit: Ei mitään
                    Return: html-tiedosto, josta löydät muuttujan, joka on json-muodossa ja voidaan jäsentää käyttäjäobjektiksi
        3. Lippujen tarkistus
                    Menetelmä: GET
                    Käyttöliittymä: https://kyfw.12306.cn/otn/leftTicket/query?
                    Parametrit: leftTicketDTO.train_date: Lippujen tarkistuspäivä
                               leftTicketDTO.from_station: Lähtöasema (aakkoskoodi)
                               leftTicketDTO.to_station: Kohdeasema (aakkoskoodi)
                               purpose_codes:AIKUISET
                    Return: Palaa JSON-muotoon ja jäsentää suoraan
         4. Varaus
                   Nimitys on jaettu kuuteen vaiheeseen, yksi kerrallaan, jotka liittyvät toisiinsa
                   Ensimmäinen: Ennakkolähetys
                            Menetelmä: POST
                            Käyttöliittymä: https://kyfw.12306.cn/otn/leftTicket/submitOrderRequest
                            Parametri: secretStr: saadaan lippujen tarkistuksesta (yksi jokaiselle junalle, eri kerralla, täytyy jäsentää reaaliajassa)
                                      train_date: Varauspäivä
                                     back_train_date: Paluu
                                      tour_flag: DC
                                      purpose_codes:AIKUISET
                                      query_from_station_name: Lähtöasema
                                      query_to_station_name: Määränpääasema
                                      määrittelemätön: tyhjä merkkijono
                           Palautus: Palauttaa JSON-muodon selvittääkseen, onko lähetys onnistunut
                    Toiseksi: Hanki vastaavat parametrit
                            Menetelmä: POST
                            Käyttöliittymä: https://kyfw.12306.cn/otn/confirmPassenger/initDc
                             Parametrit:
                              _json_att: Tyhjä merkkijono
                             Palautus: html-tiedosto, joka on hyödyllinen globalRepeatSubmitTokenin jäsentämisessä ensimmäisillä riveillä ja ticketInfoForPassengerForm-muuttujan arvon saamiseksi alhaalta, on json-muodossa, josta purpose_codes, key_check_isChange, leftTicketStr, train_locatio{filter} n valmistautuakseen seuraaviin sitoumuksiin
                    Kolmanneksi: Hanki lähetyksen vahvistuskoodi
                              Menetelmä: GET
                             Käyttöliittymä: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=passenger&rand=randp&
                             Parametrit:
                                      Ei mitään
                             Return: Palauttaa kuvan binäärivirran, aivan kuten kirjautumisvahvistuskoodi
                     Neljänneksi: Tarkista, voidaanko hakemus vahvistaa
                             Menetelmä: POST
                              Käyttöliittymä: https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo
                              Parametrit:
                                       cancel_flag:2
                                       bed_level_order_num:0000000000000000000000000000000
                                       passengerTicketStr: Istuintyyppi, 0, lipputyyppi, nimi, henkilöllisyys, puhelin, N (jos niitä on useampi, erotettuna pilkulla)
                                       oldPassengerStr: Nimi, ID-tyyppi, ID-numero, käyttäjätyyppi
                                       randCode: Aikataulutettu vahvistuskoodi
                                       tour_flag:dc
                                       _json_att: Tyhjä merkkijono
                                       REPEAT_SUBMIT_TOKEN: Ota se edellisestä vaiheesta
                              Palautus: json-muoto selvittääksesi, voidaanko se sitoutua
                    Viides: Vahvista lähetys
                                Menetelmä: POST
                                Käyttöliittymä: https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue
                                Parametrit:
   
                                       passengerTicketStr: Istuintyyppi, 0, lipputyyppi, nimi, henkilöllisyys, puhelin, N (jos niitä on useampi, erotettuna pilkulla)
                                       oldPassengerStr: Nimi, ID-tyyppi, ID-numero, käyttäjätyyppi
                                       randCode: Aikataulutettu vahvistuskoodi
                                       purpose_codes: Vaihe 3 saadaksesi sen
                                       key_check_isChange: Sama
                                       leftTicketStr; Sama paikka
                                       train_locatio{filter}n; Sama paikka
                                       REPEAT_SUBMIT_TOKEN: Sama
                                       _json_att: Tyhjä merkkijono   
                               Palautus: json-muoto, selvitä, onko lähetys onnistunut, palauta odotusaika ja kutsu vaihe 6 tietyn ajan välein palauttaaksesi käsittelytuloksen
                     Kuudes: Äänestys lähetystulosten saamiseksi
                               Menetelmä: GET
                               Käyttöliittymä: https://kyfw.12306.cn/otn/confirmPassenger/queryOrderWaitTime?
                               Parametrit:
   
                                       satunnainen: Satunnaisluvut
                                       tourFlag:dc   
                                       REPEAT_SUBMIT_TOKEN: Kolmas osa on saatava
                                       _json_att: Tyhjä merkkijono   
                               Palauta: json-muoto, palauta odotusaika, jos waitTime on alle 0, hanki tilaustieto orderId, jos se on suurempi kuin 0, jatka kyselyä
          5. Kysy keskeneräisistä tilauksista
                 Menetelmä: POST
                 Käyttöliittymä: https://kyfw.12306.cn/otn/queryOrder/queryMyOrderNoComplete
                 Parametrit:
                _json_att: Tyhjä merkkijono   
                Palautukset: JSON-muoto, sisältää tilaustiedot ja jäsentää suoraan

           Puhuen siitä, 5 funktiota on käytännössä esitellään, mutta nyt ne julkaistaan vain oppiakseen käyttämään, eikä sitä hyökätä pahantahtoisesti, lisäksi 12306-sivuston käyttöliittymä muuttuu hyvin usein, ja nyt julkaistu käyttöliittymä saattaa muuttua huomenna, joten tärkeintä on oppia hakemaan relevantteja rajapintoja ja dataa sekä analysoida dataa saadakseen vastaavat parametrit ja tulokset. Tässä käytän pääasiassa firebugia, joka tulee chrom-selaimen mukana tulevaa verkkoanalyysityökalua, sekä fiddler- ja wireshark-työkaluja, ja ohjeita niihin liittyvien työkalujen käyttöön, etsi se vain netistä.
            Lopuksi, valitetaanpa, 12306-sivusto käyttää CDN-staattista välimuistiteknologiaa, mikä johtaa vastaavien palvelimien valintaan eri alueiden kuormantasauksen, kaistanleveyden ja kuormituksen mukaan. Eli 12306-palvelimia on paljon ympäri maata. Jokainen käyttäjä voi käyttää mahdollisia palvelimia, jotka ovat erilaisia, mutta vain staattisia sivuja ja js:ää, css:ää ja kuvia jne., mutta jokainen palvelin pitää istunnon suoraan jaettuna, eli jos kirjaudut yhteen palvelimeen, muilla palvelimilla Yllä mainittu vastaa myös laskeutumista. Siksi on parasta valita palvelin dynaamisesti, jotta välimuistiajat ovat ajan tasalla, stressi minimaalinen ja data reaaliaikaisempaa. Minun toteutuksessani, jos et kysy kerran, vaihdat palvelimen IP-osoitteen kerran. Mitä tulee olennaiseen teknologiaan, paljastan sen myöhemmin. Mutta tämän artikkelin sisältö riittää oppimiseen. Voit nähdä tarkan IP-osoitteen http://tool.chinaz.com/dns.




Edellinen:{:1_3:} {:1_3:} Onnellista päivää
Seuraava:Miten js kopioi objektin?
Julkaistu 28.9.2017 9.19.34 |
Aikooko pomo napata liput?
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com