Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 11838|Jawab: 1

12306 perangkat lunak pengambilan tiket terkait antarmuka dan format data

[Salin tautan]
Diposting pada 27/09/2017 10.15.39 | | |

Mari kita langsung ke intinya, di sini saya terutama ingin berbicara tentang antarmuka dan format data dari fungsi 12306 saat ini. Ini terutama dibagi menjadi lima modul: login, mendapatkan kontak, memeriksa tiket, memesan, dan menanyakan pesanan yang belum selesai, sedangkan untuk beberapa antarmuka lain yang tidak penting, Anda dapat langsung mengabaikannya, seperti mendeteksi apakah kode verifikasi sudah benar, meminta jumlah tiket yang tersisa, dll., Artikel ini ditulis, dan Anda dapat mempelajarinya sendiri jika Anda membutuhkannya.
       1. Masuk
             Login terutama untuk mendapatkan sesi dan menjaga komunikasi dengan server. Ada dua langkah utama untuk masuk
             Pertama, dapatkan kode verifikasi login
                     Metode: DAPATKAN
                     Antarmuka: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=login&rand=sjrand&
                     Parameter: salin, sama
                     Kembali: Aliran gambar biner
             Login Kedua
                    Metode: POST
                    Antarmuka: https://kyfw.12306.cn/otn/login/loginAysnSuggest
                    Parameter: 1. loginUserDTO.user_name Nama pengguna
                               2. kode verifikasi randCode
                               3. kata sandi userDTO.password
                     Mengembalikan: string json, yang dapat menentukan apakah login berhasil
        2. Dapatkan kontak
                    Metode: DAPATKAN
                    Antarmuka: https://kyfw.12306.cn/otn/passengers/init
                    Parameter: Tidak ada
                    Kembali: html, Anda dapat menemukan variabel di dalamnya, yang dalam format json dan dapat diurai menjadi objek pengguna
        3. Pemeriksaan tiket
                    Metode: DAPATKAN
                    Antarmuka: https://kyfw.12306.cn/otn/leftTicket/query?
                    Parameter: leftTicketDTO.train_date: Tanggal pemeriksaan tiket
                               leftTicketDTO.from_station: Stasiun Awal (Kode Abjad)
                               leftTicketDTO.to_station: Stasiun tujuan (kode alfabet)
                               purpose_codes:DEWASA
                    Kembali: Kembali ke format JSON dan mengurai secara langsung
         4. Reservasi
                   Janji temu dibagi menjadi 6 langkah, satu per satu, saling terkait
                   Pertama: Pra-pengiriman
                            Metode: POST
                            Antarmuka: https://kyfw.12306.cn/otn/leftTicket/submitOrderRequest
                            Parameter: secretStr: diperoleh dari pemeriksaan tiket (satu untuk setiap kereta, dan berbeda setiap kali, perlu diurai secara real time)
                                      train_date: Tanggal pemesanan
                                     back_train_date: Tanggal pengembalian
                                      tour_flag: dc
                                      purpose_codes:DEWASA
                                      query_from_station_name: Stasiun keberangkatan
                                      query_to_station_name: Stasiun tujuan
                                      undefined: string kosong
                           Return: Mengembalikan format JSON untuk menentukan apakah pengiriman berhasil
                    Kedua: Dapatkan parameter yang sesuai
                            Metode: POST
                            Antarmuka: https://kyfw.12306.cn/otn/confirmPassenger/initDc
                             Parameter:
                              _json_att: String kosong
                             Kembalikan: file html, berguna di bawah penguraian globalRepeatSubmitToken di beberapa baris pertama, dan mendapatkan nilai variabel ticketInfoForPassengerForm dari bawah, dalam format json, dari mana purpose_codes, key_check_isChange, leftTicketStr, train_locatio{filter} n untuk mempersiapkan komitmen berikut
                    Ketiga: Dapatkan kode verifikasi pengiriman
                              Metode: DAPATKAN
                             Antarmuka: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=passenger&rand=randp&
                             Parameter:
                                      Tidak ada
                             Return: Mengembalikan aliran biner gambar, seperti kode verifikasi login
                     Keempat: Periksa apakah pengajuan dapat dikonfirmasi
                             Metode: POST
                              Antarmuka: https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo
                              Parameter:
                                       cancel_flag:2
                                       bed_level_order_num:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
                                       passengerTicketStr: Jenis kursi, 0, jenis tiket, nama, identitas, telepon, N (jika ada lebih dari satu, dipisahkan oleh koma)
                                       oldPassengerStr: Nama, Jenis ID, Nomor ID, Jenis Pengguna
                                       randCode: Kode verifikasi terjadwal
                                       tour_flag:dc
                                       _json_att: String kosong
                                       REPEAT_SUBMIT_TOKEN: Dapatkan dari langkah sebelumnya
                              Kembalikan: format json untuk menentukan apakah itu dapat dilakukan
                    Kelima: Konfirmasi pengiriman
                                Metode: POST
                                Antarmuka: https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue
                                Parameter:
   
                                       passengerTicketStr: Jenis kursi, 0, jenis tiket, nama, identitas, telepon, N (jika ada lebih dari satu, dipisahkan oleh koma)
                                       oldPassengerStr: Nama, Jenis ID, Nomor ID, Jenis Pengguna
                                       randCode: Kode verifikasi terjadwal
                                       purpose_codes: Langkah 3 untuk mendapatkannya
                                       key_check_isChange: Ibid
                                       kiriTiketStr; Ibid
                                       train_locatio{filter}n; Ibid
                                       REPEAT_SUBMIT_TOKEN: Ibid
                                       _json_att: String kosong   
                               Kembalikan: format json, tentukan apakah pengiriman berhasil, kembalikan waktu tunggu, dan panggil langkah 6 setiap periode tertentu untuk mengembalikan hasil pemrosesan
                     Keenam: Jajak pendapat untuk mendapatkan hasil pengajuan
                               Metode: DAPATKAN
                               Antarmuka: https://kyfw.12306.cn/otn/confirmPassenger/queryOrderWaitTime?
                               Parameter:
   
                                       acak: Angka acak
                                       bendera tur:dc   
                                       REPEAT_SUBMIT_TOKEN: Ada bagian ketiga yang harus diperoleh
                                       _json_att: String kosong   
                               Return: format json, kembalikan waktu tunggu, jika waitTime kurang dari 0, dapatkan informasi pesanan orderId, jika lebih besar dari 0, lanjutkan polling
          5. Tanyakan tentang pesanan yang belum selesai
                 Metode: POST
                 Antarmuka: https://kyfw.12306.cn/otn/queryOrder/queryMyOrderNoComplete
                 Parameter:
                _json_att: String kosong   
                Mengembalikan: Format JSON, berisi informasi pesanan, dan mengurai secara langsung

           Omong-omong, 5 fungsi pada dasarnya diperkenalkan, tetapi sekarang diposting hanya untuk belajar menggunakan, dan tidak akan diserang dengan jahat, apalagi antarmuka situs web 12306 sangat sering berubah, dan antarmuka yang diposting sekarang dapat diubah besok, jadi yang penting adalah mempelajari cara mengambil antarmuka dan data yang relevan, dan menganalisis dari data untuk mendapatkan parameter yang sesuai dan hasil yang sesuai. Di sini saya terutama menggunakan firebug, alat analisis jaringan yang disertakan dengan browser chrom, serta alat fiddler dan wireshark, dan petunjuk untuk menggunakan alat terkait, cari saja di Internet.
            Terakhir, mari kita keluh, situs web 12306 menggunakan teknologi caching statis CDN, yang akan mengarah pada pemilihan server yang sesuai sesuai dengan penyeimbangan beban di berbagai wilayah, bandwidth, dan beban, artinya, ada banyak server 12306 di seluruh negeri Setiap pengguna dapat mengakses server yang mungkin berbeda, tetapi hanya halaman statis dan js, css dan gambar, dll., tetapi setiap server akan langsung menjaga sesi tetap dibagikan, yaitu, jika Anda masuk ke salah satu server, di server lain Hal di atas juga setara dengan mendarat. Jadi yang terbaik adalah dapat memilih server secara dinamis sehingga waktu cache up to date, stres minimal, dan data lebih real-time. Dalam implementasi saya, jika Anda tidak melakukan kueri sekali, Anda akan mengubah IP server sekali. Adapun teknologi yang relevan, saya akan mengungkapkannya nanti. Namun isi artikel ini cukup untuk dipelajari. Anda dapat melihat alamat IP tertentu di http://tool.chinaz.com/dns.




Mantan:{:1_3:} {:1_3:} Selamat hari
Depan:Bagaimana js menyalin objek?
Diposting pada 28/09/2017 09.19.34 |
Apakah bos akan mengambil tiket?
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com