简介

年关将近,看到此图未免一声长叹,惆怅不已。API中国将深挖可怕的12306网站,公布尽可能多的接口,希望某当世才俊能开发出一款能造福我朝的购票助手软件,定受无量加持……

扯远了,扯回来。

使用12306网站的接口,查询余票。此接口采集自这里。

Demo

http://dynamic.12306.cn/otsquery/query/queryRemanentTicketAction.do?method=queryLeftTicket&orderRequest.train_date=2013-1-1&orderRequest.from_station_telecode=BJP&orderRequest.to_station_telecode=SHH&orderRequest.train_no=&trainPassType=QB&trainClass=QB%23D%23Z%23T%23K%23QT%23&includeStudent=00&seatTypeAndNum=&orderRequest.start_time_str=00:00--24:00

注:Demo中查询日期为2013-1-1,从 北京 到 上海 的车次。如果您点击此Demo时,日期已超过此时间点,肯定是没有数据的,请自行按照下面的参数详解自行修改。

接口类型

HTTP(GET) / UTF-8

接口返回值

json

返回数据的主体是一段HTML,需要自行解析,获取其中的数据。

参数详解

  • method=queryLeftTicket
    常量,表示余票查询。
  • orderRequest.train_date=2013-1-1
    指定要查询的日期。
  • orderRequest.from_station_telecode=BJP
    起始站代号,所有车站的代号字典,见文后附件“station_name.js”。
  • orderRequest.to_station_telecode=SHH
    终点站代号,同上。
  • orderRequest.train_no=
    指定要查询的车次代号,Demo中为了展示的数据多一点,所以此参数为空。
    需要使用此参数的Dev请关注12306系列后续文章,明日即将发布。
  • trainPassType=QB
    指定要查询列车的PassType(实在不好用中文表达)。
    枚举:QB(全部),SF(始发),GL(过路)。
  • trainClass=QB#D#Z#T#K#QT#
    指定要查询列车的类型,使用#连接多种车型。
    枚举:QB(全部),D(动车),Z(Z字头),T(T字头),K(K字头),QT(其他)。
  • includeStudent=00
    指定查询类型。
    枚举:00(查询),0X00(学生团体查询),1F(农民工团体查询)。
  • seatTypeAndNum=
    指定要查询的座位类型(无座/硬座/硬卧/软卧)与数量。
    被采集页未使用此参数,为空即可,若在后续深挖中对此参数有更多了解,将会补充相关信息。
  • orderRequest.start_time_str=00:00--24:00
    指定乘车时间区间。
    枚举:00:00--24:00,00:00--06:00,06:00--12:00,12:00--18:00,18:00--24:00。

备注

接口中有些参数的值包含URL关键字,如:#。需要将其转义为:%23。

附件

全国火车站代号字典:station_name.js

该字典用js保存,数据结构如下:

var station_names ='@bjb|北京北|VAP|beijingbei|bjb|0';

其中的大写字母VAP即是车站代号。

附赠一款接口测试工具,可在此工具中模拟HTTP GET/POST。猛戳这里下载

简介

使用12306网站的接口,查询余票。此接口采集自这里。

Demo

URL:http://dynamic.12306.cn/otsquery/query/queryRemanentTicketAction.do?method=queryststrainall

Data:date=2013-1-1&fromstation=BJP&tostation=SHH&starttime=00:00--24:00

CoontentType:application/x-www-form-urlencoded

这个Demo是HTTP POST请求,不能直接在网页中查看效果,需要用到文后附件中的测试工具查看效果。

接口类型

HTTP(POST) / UTF-8

接口返回值

json

参数详解

  • method=queryststrainall
    常量,表示车次查询。(此参数为get参数)
  • date=2013-1-1
    指定要查询的日期。
  • fromstation=BJP
    起始站代号,所有车站的代号字典,见文后附件“station_name.js”。
  • tostation=SHH
    终点站代号,同上。
  • starttim=00:00--24:00
    指定乘车时间区间。
    枚举:00:00--24:00,00:00--06:00,06:00--12:00,12:00--18:00,18:00--24:00。

附件

全国火车站代号字典:station_name.js

该字典用js保存,数据结构如下:

var station_names ='@bjb|北京北|VAP|beijingbei|bjb|0';

其中的大写字母VAP即是车站代号。

附赠一款接口测试工具,可在此工具中模拟HTTP GET/POST。猛戳这里下载

简介

轰轰烈烈产绝人寰的春运抢票狂潮已接近尾声,API部门挖掘到一款开源的“12306在线订票助手”的开源项目。

内含完整的从验证码识别、登录、查询、自动下单的功能——只可惜随着12306网站的不断更新,该软件目前已不能正常使用了。

但是源码中所包含的API与流程还是有极大的参考价值的。

Demo

项目主页:http://jelly2013.codeplex.com/

项目语言:C#

.Net版本:2.0

项目状态:已停止维护

http://www.devapi.org/12306-Search-Surplus-Ticket.html

http://www.devapi.org/12306-Search-Train-Number.html

http://www.devapi.org/12306-OpenSource.html

12306火车余票查询API相关推荐

  1. 12306——(一)火车余票查询API

    简介 年关将近,看到此图未免一声长叹,惆怅不已.API中国将深挖可怕的12306网站,公布尽可能多的接口,希望某当世才俊能开发出一款能造福我朝的购票助手软件,定受无量加持-- 扯远了,扯回来. 使用1 ...

  2. 12306火车余票查询

    测试地址:http://gengjian.24.lc/japson/123060.htm 调用12306官网的查询接口. 123060.htm 火车票余票查询Demo By Genng.<br& ...

  3. 火车余票查询API 一

    简介 年关将近,看到此图未免一声长叹,惆怅不已.API中国将深挖可怕的12306网站,公布尽可能多的接口,希望某当世才俊能开发出一款能造福我朝的购票助手软件,定受无量加持-- 扯远了,扯回来. 使用1 ...

  4. 快春运了,做个火车余票查询接口,余票来源12306,图是百度地图

    摘要:做个火车票查询余票接口,数据来源于12306,地图使用百度地图(未完成) 今天本来想查询一下回家的车票,结果坑爹的发现12306网站死活打不开,尼玛真实坑爹,想查询一下余票都怎么难 于是自己决定 ...

  5. 12306 余票查询API浅探索

    12306 余票查询API浅探索 余票查询请求分析 响应数据解密代码查找调试 数据说明 余票查询请求分析 点击查询,F12进入控制台,进入NetWork面板,查看发送的请求: 点入请求查看详情,很明显 ...

  6. 做个火车余票查询接口,余票来源12306,图是百度地图

    摘要:做个火车票查询余票接口,数据来源于12306,地图使用百度地图(未完成) 今天本来想查询一下回家的车票,结果坑爹的发现12306网站死活打不开,尼玛真实坑爹,想查询一下余票都怎么难 于是自己决定 ...

  7. 列车车次查询-余票查询-Api接口

    查接口找到的,分享给大家,希望对大家以后开发有用 火车车次查询-余票查询--Api接口 1.来自12306的火车车次数据 使用12306网站的接口,查询余票.此接口采集自这里.全国火车站代号字典,下载 ...

  8. 12306之余票查询流程解析

    前言 本套教程共分3章: 12306之登录流程解析 12306之余票查询解析 12306之下单流程解析 本套内容主要用于分析12306购票流程,意在编写一套自动购票小程序.12306接口 api 经常 ...

  9. Python大法之从火车余票查询到打造抢Supreme神器

    本文作者:i春秋作家--阿甫哥哥 系列文章专辑:https://bbs.ichunqiu.com/forum.php?mod=collection&action=view&ctid=9 ...

最新文章

  1. 在CentOS 6.3/6.5 64bit上为python 2.7.10安装pycurl模块
  2. anaconda下配置R子环境并配置jupyter notebook的R Kernel
  3. 高效编程所需要做的14件事
  4. java泛型程序设计——无限定通配符+通配符捕获
  5. 从夫妻吵架中看项目管理
  6. 5 QM配置-质量计划配置-编辑缺陷类型的选择集
  7. 《Linux From Scratch》第二部分:准备构建 第三章:软件包与补丁- 3.2. 所有软件包...
  8. python函数控制词典_Python 基础之集合相关操作与函数和字典相关函数
  9. CSS3新增了哪些特性
  10. springboot 上传文件保存在本地磁盘
  11. Hive from_unixtime函数入门
  12. Java:多线程之生产者与消费者
  13. vue组件挂载到全局方法
  14. java我的世界1.6.2_我的世界1.6.2
  15. AspNetPager常用属性及用法 / URLRewrite伪静态与AspNetPager分页控件的结合
  16. Word如何使用预设样式、自定样式以及生成自动目录教程
  17. ssb的matlab仿真,单边带调制(SSB调制)的理论基础和MATLAB仿真
  18. 来了!2020云栖大会 蚂蚁金融科技产品能力再升级
  19. 电脑端微信文件的存储位置在哪?
  20. 服务器主板2个芯片供电端短路了,笔记本主供电短路维修思路

热门文章

  1. win10远程桌面设置计算机,win10开启远程桌面的两种方法
  2. 快手帝国的造富神话,程序员们身家过百亿
  3. injective, surjective, bijective function 各自含义
  4. 爱了!华为工程师总结的PDF版Linux笔记,限时开放下载
  5. 月薪30k 的Java面试题,哭着也要背完!(附答案)
  6. 最新发行版Openstack Havana单机安装指引
  7. 在ParaView中计算圆柱绕流算例里圆柱所受的升阻力
  8. oracle分区表死锁,ORACLE RAC 出现的表死锁问题
  9. servlet post 中文乱码问题
  10. java中文分词工具_中文分词工具(LAC) 试用笔记