1 Star 1 Fork 0

arrowing / dig-12306

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

dig-12306

介绍

快速查询火车票,除了直达车票,还有补票、跨站、中转等类型的车票,让你回家不愁。

仅供学习交流,切勿恶意请求 12306,影响其服务正常使用!

线上 Demo:可访问微信小程序《你要的票》进行使用(该版本还使用了代理池功能,防止 12306 Ban IP)。

扫码进入: 你要的票

软件架构

基于 Nodejs 与 Redis

查询结果说明

  1. 直达:最理想的购票,花费的车票金额最低。如,起始站为 D,目的站为 H,列出的票也为 D 至 H。
  2. 补票:列出始站到中间站的票。如,起始站为 D,目的站为 H,列出的票可能为 D 至 E,也可能为 D 至 F。提示:需在列车上与列车员进行补票操作,即进行剩余车程的车票购买,补票的部分为无座类型的座位,如没补票否则将面临罚款与信用审查等风险。
  3. 跨站:列出起始站之前或者目的站之后的票程。如,起始站为 D,目的站为 H,列出的票可能为 C 至 I,也可能为 D 至 J。提示:此类车票的价格会高于直达车票的价格,目前最多会跨越 2 个站。
  4. 中转:列出起始站到中间站,加上中间站到目的站的两段票程。如,起始站为 D,目的站为 H,列出的第一段票可能为 D 至 F,第二段票为 F 至 H。提示:考虑到第一段列车延时出发的因素,第一段列车的到站时间与第二段列车的发车时间,之间相隔时间为 45 到 75 分钟之间,在购票时需考虑好中转时间。
  5. 补票 + 跨站:补票加跨站双重规则。如,起始站为 D,目的站为 H,列出的票可能为 C 至 E,也可能为 B 至 G。提示:购买此类票种实属无奈之举,建议车程较短的才考虑,不然代价太大。

安装教程

  1. 请确保 Redis 已经安装
  2. 安装依赖包:npm i
  3. 执行 node index.js 运行,默认端口号为 3000

使用说明

  1. 如果返回的数据为空数组,很大原因是因为你的 IP 被 12306 给 ban 了(可访问 12306 官网查询行程,出现“网络出现问题”等字样则说明当前 IP 被限制了,需过一段时间才可继续访问),可以尝试使用 http 代理解决。
  2. 默认会自动更换 JSESSIONID Cookie 随机值,尝试访问 12306 接口。
  3. 在高峰期时,12306 会对查询接口地址做动态调整,本程序已经相应处理了。
MIT License Copyright (c) 2020 arrowing Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

快速查询火车票,除了直达车票,还有补票、跨站、中转等类型的车票,让你回家不愁。 展开 收起
NodeJS
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
NodeJS
1
https://gitee.com/arrowing/dig-12306.git
git@gitee.com:arrowing/dig-12306.git
arrowing
dig-12306
dig-12306
master

搜索帮助