2017,现在已进入春运期间,真的是一票难求,深有体会。各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛。对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看12306相关的接口,如果有类似的需求或业务,或者此文章可以帮助到你。

背景

在一些需要工具等应用可能会应用到火车票信息的查询,但是又不知去哪里找即免费又不限制次数的Api接口,呵呵,今天我简单给你介绍一些Api接口的抓取,不要激动,最终还是希望可以帮助到你。对于有web开发经验的,可直接忽略此文,本文仅是提供一种获取方式,不保障永久可用。

不多说了,到此为止,直接先给一张效果图,明确一下今天的博客内容。

这是一个神奇的网站,不需宣传和推广,每年的访问量和用户都很大,挣的广告费,呵呵,不多说,你懂的吧,Money大大的。

接下来,我们就直接奔主题喽......

此文使用的是Chrome浏览器。

官方Api接口哟

举个栗子,来了小接口,验证码

此图上有一个验证码,下面来分析一下验证码是怎么获取并显示出来的。

打开上面的地址,然后点击键盘F12,然后再点击F5,你会看到如下图所示:

上图标出了验证码的请求接口,右边显示的预览就是验证码

然后,点击右侧的Headers 选项

这次知道验证码接口是什么了吧,太简单,我就不多扯犊子了。

验证码接口为:https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=other&rand=sjrand

单独访问接口, 效果如下:

验证码接口就是这个,当然,回来的验证码的Content-Type是image/jpeg;charset=UTF-8。

Java的验证码是怎么生成的,可以参考本文。

Nodejs生成验证码

再听我啰嗦几句, 说一下怎么显示出来的。用图说话>

到此,验证码的接口就介绍完了,是不是很简单啊,剩下其他的接口也类似啊,你可以自己动手试试,看是否可以找到呢。找不到的,还是继续接着看下文吧,哈哈,继续接着唠嗑。

来个牛掰的梨子,某天火车票所有列车信息

我是使用2016年12月01日作为查看数据的,你使用接口时,务必注意一下查询接口时传递的时间参数。

方法同上,先给效果图;

点击查询

车次列表显示出来

点击查询发了2个接口

接口分析:

协议:https:

域名:kyfw.12306.cn/

接口:otn/leftTicket/log?

请求参数:leftTicketDTO.train_date出发日期

leftTicketDTO.from_station出发地简称缩写

leftTicketDTO.to_station目的地简称缩写

purpose_codes乘客类型(成儿&学生),ADULT是成人,学生是0X00

ps:如在Android等客户端访问接口出现证书问题,12306是自签名证书,去12306官网下载加到客户端信任证书即可。

数据为:

{ 'validateMessagesShowId': '_validatorMessage', 'status': true, 'httpstatus': 200, 'messages': [], 'validateMessages': {}}

接口分析:

协议:https:

域名:kyfw.12306.cn/

接口:otn/leftTicket/query?

请求参数:leftTicketDTO.train_date出发日期

leftTicketDTO.from_station出发地简称缩写

leftTicketDTO.to_station目的地简称缩写

purpose_codes乘客类型(成儿&学生),ADULT是成人,学生是0X00

返回的数据为:

{ 'validateMessagesShowId': '_validatorMessage', 'status': true, 'httpstatus': 200, 'data': [......], 'messages': [], 'validateMessages': {}}

具体列车数据查看data对应的数组即可。

数据里面单个元素的数据结构为:

{ 'queryLeftNewDTO': { 'train_no': '240000G1010C', 'station_train_code': 'G101', 'start_station_telecode': 'VNP', 'start_station_name': '北京南', 'end_station_telecode': 'AOH', 'end_station_name': '上海虹桥', 'from_station_telecode': 'VNP', 'from_station_name': '北京南', 'to_station_telecode': 'AOH', 'to_station_name': '上海虹桥', 'start_time': '06:44', 'arrive_time': '12:38', 'day_difference': '0', 'train_class_name': '', 'lishi': '05:54', 'canWebBuy': 'IS_TIME_NOT_BUY', 'lishiValue': '354', 'yp_info': 'O055300032M0933000349174800012', 'control_train_day': '20161229', 'start_train_date': '20161201', 'seat_feature': 'O3M393', 'yp_ex': 'O0M090', 'train_seat_feature': '3', 'seat_types': 'OM9', 'location_code': 'P2', 'from_station_no': '01', 'to_station_no': '11', 'control_day': 59, 'sale_time': '1230', 'is_support_card': '1', 'controlled_train_flag': '0', 'controlled_train_message': '正常车次,不受控', 'gg_num': '--', 'gr_num': '--', 'qt_num': '--', 'rw_num': '--', 'rz_num': '--', 'tz_num': '--', 'wz_num': '--', 'yb_num': '--', 'yw_num': '--', 'yz_num': '--', 'ze_num': '有', 'zy_num': '有', 'swz_num': '12' }, 'secretStr': '', 'buttonTextInfo': '23:00-06:00系统维护时间'}

此文章仅是为了一些对web前端不太熟悉的技术人员起到抛砖引玉的作用,希望看过之后可以达到举一反三的效果;如果此文章对你有所帮助,请在下方点一个赞,谢谢您的支持!

12306android端接口,12306官方火车票Api接口相关推荐

  1. 魔方APP项目-06-用户注册,完成短信验证码的校验、基于Celery实现短信异步发送、用户登录,jwt登陆认证、服务端提供用户登录的API接口

    一.用户注册- 1.完成短信验证码的校验 application.utils.language.message,代码: class ErrorMessage():ok = "ok" ...

  2. 魔坊APP项目-21-种植园,宠物栏的功能实现、服务端提供显示宠物的api接口、客户端中展示宠物栏和宠物列表以及饱食度、宠物道具的使用

    种植园 一.宠物栏的功能实现 1. 宠物的显示 2. 宠物的使用 3. 宠物的饱食度 4. 宠物的开锁 1.服务端提供显示宠物的api接口 socket.py,代码 ... import math f ...

  3. 淘宝/天猫/1688拍立淘API接口(以图搜商品API接口,图片搜索API接口,图片搜索商品API接口)代码对接教程

    淘宝/天猫/1688拍立淘API接口(以图搜商品API接口,图片搜索API接口,图片搜索商品API接口)代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018 ...

  4. 京东商品详情APP原数据API接口-(item_get_app-获得JD商品详情原数据API接口),京东API接口

    一.京东商品详情APP原数据API接口-(item_get_app-获得JD商品详情原数据API接口),京东API接口代码如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用k ...

  5. 阿里巴巴商品详情API接口(item_get-获得商品详情接口),阿里巴巴API接口

    阿里巴巴商品详情API接口(item_get-获得商品详情接口),阿里巴巴API接口可获取到商品链接,商品ID,商品标题,商品价格,品牌名称,店铺昵称,sku规格,sku属性,发货地,详情属性,店铺信 ...

  6. 唯品会关键字搜索商品API接口(item_search-按关键字搜索唯品会商品API接口),唯品会API接口

    一.唯品会关键字搜索商品API接口(item_search-按关键字搜索唯品会商品API接口),唯品会API接口接口可获取到宝贝标题,宝贝价格,宝贝ID,宝贝图片,优惠价,宝贝链接,卖家昵称,店铺所在 ...

  7. 京东推荐商品列表API接口-(item_recommend-获取推荐商品列表API接口),京东API接口

    一.京东推荐商品列表API接口-(item_recommend-获取推荐商品列表API接口),京东API接口代码对接如下: 1.请求参数: 名称 类型 必须 描述 key String 是 调用key ...

  8. 淘宝/天猫获取卖出的商品订单列表API接口,店铺订单API接口,店铺订单详情API接口

    一.淘宝/天猫获取卖出的商品订单列表API接口,店铺订单API接口,店铺订单详情API接口代码如下: 1.公共参数: 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接 ...

  9. 京东商品详情页API接口、京东商品销量API接口、京东商品列表API接口、京东APP详情API接口、京东详情API接口,京东SKU信息接口

    京东商品详情页API接口.京东商品销量API接口.京东商品列表API接口.京东APP详情API接口.京东详情API接口,京东SKU信息接口,通过商品ID提取商品详情页各项数据,包含商品标题,sku i ...

  10. 京东商品评论API接口-(item_review-获得JD商品评论API接口),京东API接口

    一.京东商品评论API接口-(item_review-获得JD商品评论API接口),京东API接口代码对接如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GE ...

最新文章

  1. 2014年:这些词都快被玩坏了
  2. GRUB引导菜单加密
  3. 程序员的魔法——用Masking GAN让100,000人都露出灿烂笑容
  4. 第三章:3.7 傅里叶变换性质(一)
  5. 空的宏定义作用及常见用法
  6. STM32 不断进入串口中断问题 解决方法
  7. C语言do...while语句的妙用(包裹宏替换多句代码)(代替go to语法)(隔绝外部变量)
  8. Win 2008 R2安装SQL Server 2008“性能计数器注册表配置单元一致性”失败的解决办法...
  9. 夺命雷公狗---DEDECMS----26dedecms面包屑导航的实现
  10. Python:if语句
  11. 如何检查数组是否有重复值
  12. Linux tmp目录自动清理 及解决方法
  13. 详解用Navicat工具将Excel中的数据导入Mysql中
  14. 文本区 JTextArea 的使用
  15. Bootstrap模态框中再嵌套模态框导致第一个模态框的滚动条消失
  16. centos 6 与 centos 7 服务开机启动、关闭设置的方法
  17. C#使用SHA1加密类(RSAFromPkcs8)支持1024位和2048位私钥
  18. Excel学习笔记一关于色彩
  19. Spring核心方法 refresh 解析
  20. H3C交换机设置时间命令

热门文章

  1. win7休眠 计算机管理,Win7休眠功能怎么关闭?
  2. 服务器计算机性能测试,服务器平台计算性能工具Linpack服务器性能测试利器_一_.pdf...
  3. 程序化交易高手的交易心得 分享~
  4. 逍遥模拟器怎么开启vt?
  5. LTE学习-信道均衡(ZF)
  6. java操作数据库步骤_java数据库操作基本流程
  7. Unity 网格合并MeshBaker(一)
  8. firefox插件下载失败
  9. 算法刷题【洛谷P1359】租用游艇(最短路径Floyd算法和Dijkstra算法模板题)
  10. 静态库、动态库及导入库