12306站站查询返回接口解析

请求解析

请求地址 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
1tquZudcX287caqGMyFD3%2BX0EaaoW8ez6XAW2KqttokiBU%2Ba82Ly26O%2BQdYrct29mWzXUhuEiLeq%0A6cwE6LNoiKgz8E7B1D3ihqLSL0Wfrvv%2Bv7rObvON1M7imOYs30hOmY5fz%2Fv2GK2IAO%2FWZ681yHG2%0At%2FeqmLn2WKiZ3sY62dx7hoctSydwip9RqyXaq0VK6OjrK8GXGFKoHsfj1Wkg0I0y9Cx6DUQG9A8O%0A5XxIh5oEsd5aIqA7nhx2jrWBibOEk4sJkr6Q64xJftv%2F9RNQtkYHA0yyQrcvlCiI7ikN7DimPaCa%0Ap0ZGDZXff1HqwwrAy7txhqd0rnOOJ9n2W%2FLLBA%3D%3D

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
2
3
4
5
6
3 | 
X1 |
02 |
03 |
1 |
0 |

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
2
3
4
5
6
7
8
"map": {
"IZQ": "广州南",
"SHH": "上海",
"GBA": "广州白云",
"AOH": "上海虹桥",
"SNH": "上海南",
"GZQ": "广州"
}

名称为出现过的电报略码,对应的值为该站的名称

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

本文链接: http://www.kinsler.top/2024/12/08/12306%E7%AB%99%E7%AB%99%E6%9F%A5%E8%AF%A2%E8%BF%94%E5%9B%9E%E6%8E%A5%E5%8F%A3%E8%A7%A3%E6%9E%90/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。