请求解析
请求地址 https://kyfw.12306.cn/otn/leftTicket/queryO (根据12306接口协议分析_12306 接口协议-CSDN博客所阐述的,地址最后一个字母可能经常在A-Z中发生变化,如果更改会返回302和新的地址)
请求方式 GET
参数
leftTicketDTO.train_date :日期,格式为YYYY-MM-DD
leftTicketDTO.from_station :出发站电报略码
leftTicketDTO.to_station :到达站电报略码
purpose_codes :ADULT为成人,0X00为学生票
数据解析
httpsstatus:网页请求返回代码,正常为200
data数组
result数组
以下数据不一定来自同一车次,仅作参考!
返回值每行为代表一个车次的字符串,每个字符串以|作为分隔符
1 | 1tquZudcX287caqGMyFD32BX0EaaoW8ez6XAW2KqttokiBU2Ba82Ly26O2BQdYrct29mWzXUhuEiLeq0A6cwE6LNoiKgz8E7B1D3ihqLSL0Wfrvv2Bv7rObvON1M7imOYs30hOmY5fz2Fv2GK2IAO2FWZ681yHG20At2FeqmLn2WKiZ3sY62dx7hoctSydwip9RqyXaq0VK6OjrK8GXGFKoHsfj1Wkg0I0y9Cx6DUQG9A8O0A5XxIh5oEsd5aIqA7nhx2jrWBibOEk4sJkr6Q64xJftv2F9RNQtkYHA0yyQrcvlCiI7ikN7DimPaCa0Ap0ZGDZXff1HqwwrAy7txhqd0rnOOJ9n2W2FLLBA3D3D |
1.类似校验码
1 | 预订 |
2.默认显示预定
1 | 5l0000G89900 |
3.车次代码
1 | G899 |
4.显示给用户的车次
1 | AOH(后略) |
5.始发站电报略码(可在rail.re查询或调用12306接口)
6.终到站电报略码
7.查询的出发站电报略码
8.查询的到达站电报略吗
1 | 21:15(后略) |
9.发车时间
10.到达时间
11.历时
1 | N |
12.是否显示“预定“按钮(Y代表是,N反之)
1 | 26r0Dd%2Foc1ZBTFaeWeYYlSFhES2bqOXx%2BYLsU94urdsUotPr |
13.未知(校验用?)
1 | 20241202 |
14.列车始发日期
1 | 3 | |
15-20.未知
21.优选一等座数量
22.高级软卧数量
23.一人软包数量
24.软卧/动卧数量
25.软座数量
26.特等座数量
27.无座数量
28.包厢硬卧数量(?)
29.硬卧数量
30.硬座数量
31.二等(软)座数量
32.一等(软)座数量
33.商务座数量
以上项的值可能为:数字、”有“、”无“或空
34-49.未知
1 | CHN,CHN |
50.始发终到站国别(CHN代表中国,LAO代表老挝,始发终到用逗号隔开)
1 | 202412071634(后略) |
51.到达时间(YYYYMMDDHHmm),并不是每趟车都有,似乎只有昆明局的部分站点有
52.出发时间(YYYYMMDDHHmm),同上
1 | N#N# |
53.似乎默认为”N#N#“
54-55.未知
1 | 202411261430 |
56.开售时间(YYYYMMDDHHmm)
result数组结束
flag:未知,似乎默认为1
level:未知,似乎默认为0
sametlc:未知,似乎默认为N
map数组
1 | "map": { |
名称为出现过的电报略码,对应的值为该站的名称
map数组结束
messages:默认为空
status:默认为true
Query接口
该接口直接返回JSON数据,解析更方便
https://kyfw.12306.cn/otn/leftTicketPrice/query
请求方式:GET
参数:
leftTicketDTO.train_date : 日期(格式为YYYY-MM-DD)
leftTicketDTO.from_station : 出发站电报码
leftTicketDTO.to_station : 到达站电报码
leftTicketDTO.ticket_type : 票种类(1为成人票,2为儿童票,3为学生票,4为残军票)
randCode : 留空
返回值
httpsstatus:网页请求返回代码,正常为200
data数组:
待更新,基本类似上面接口的返回值。
本文作者:Jason Wang
文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。