前言
12306
的 api 是 https 请求,所以在网络请求中需要添加证书,根证书下载地址就在 12306 首页上可以看到,下载链接请戳我
请求中可能需要使用到火车出发站、始发站、到达站、终点站所对应的代号,我已经将相应的数据转成了 WPS 的表格,点我查看文件,下载后可以用 WPS 或 Excel 打开即可,或自行转成数据库文件,文件中的 teleCode
列就是相应的站点代号了。
票数
请求方式:GET
url:https://kyfw.12306.cn/otn/leftTicket/query
url:https://kyfw.12306.cn/otn/leftTicket/queryX
ps:12306 网页版的 api 不是很稳定,定期会更改,更改套路是上面 url 中的 leftTicket/query
后面可能会增加一个大写的字母。例如: https://kyfw.12306.cn/otn/leftTicket/queryA
,此时返回的 json 中有一个 c_url
字段,将其拼接在 https://kyfw.12306.cn/otn/
后就是最新的 api 接口。可见 issue#1、issue#22
参数:
参数名 | 参数意义 | 参数类型 |
---|---|---|
leftTicketDTO.train_date | 乘车日期,yyyy-MM-dd 格式(例:2017-02-05) |
String |
leftTicketDTO.from_station | 始发站码,取值参考数据库 | String |
leftTicketDTO.to_station | 终点站码,取值参考数据库 | String |
purpose_codes | 乘车人员码,取值(普通 ADULT ,学生 0X00 ) |
String |
url 示例: