惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
博客园_首页
G
Google Developers Blog
博客园 - 【当耐特】
美团技术团队
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Vercel News
Vercel News
小众软件
小众软件
博客园 - 司徒正美
雷峰网
雷峰网
T
Tailwind CSS Blog
V
V2EX
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
罗磊的独立博客
量子位
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog

博客园 - Phinecos(洞庭散人)

火车票秒杀攻略 一个简单的MongoDB操作类 Solr Cache使用介绍及分析 每日学习笔记(26) 每日学习笔记(25) 每日学习笔记(24) 深入剖析SolrCloud(四) 深入剖析SolrCloud(三) 深入剖析SolrCloud(二) 深入剖析SolrCloud(一) 技术宅---我的网上抢火车票攻略(终极秒杀版) 技术宅---我的网上抢火车票攻略 一次针对批量查询处理的优化 每日学习笔记(23) 一次内存泄露问题的排查 每日学习笔记(22) 每日学习笔记(21) 每日学习笔记(20) 每日学习笔记(19)
go-home源码分析----一款针对12306的火车票订票软件
Phinecos(洞庭散人) · 2012-12-28 · via 博客园 - Phinecos(洞庭散人)

项目地址:http://code.google.com/p/go-home/,源代码svn地址: http://go-home.googlecode.com/svn/trunk/

去年出的一款比较老的订票软件,现在可能已经失效了,只是拿来学习下基本的订票流程,方便对其他订票脚本的研究。

基本流程图:

1, 获取图片验证码

提交请求给https://dynamic.12306.cn/otsweb/passCodeAction.do?rand=sjrand,

2,获取登陆时使用的随机数,提交请求给

https://dynamic.12306.cn/otsweb/loginAction.do?method=loginAysnSuggest,

3,用户登陆,提交请求给https://dynamic.12306.cn/otsweb/loginAction.do,若登陆成功,在登陆的cookie中,会有JSESSIONID和BIGipServerotsweb这两个信息,这两个变量值可以保存下来,类似下述示例:

cookie: JSESSIONID=6009B4610F436D8023126256FB598BDD; BIGipServerotsweb=2413035786.48160.0000

4,查询符合条件的车次信息,

提交请求给https://dynamic.12306.cn/otsweb/order/querySingleAction.do

5,对查询到的车次信息进行判断,找到合适的车次,看是否有合适的席别,

6,预定车票,提交请求给

https://dynamic.12306.cn/otsweb/order/querySingleAction.do?method=submutOrderRequest

7,获取令牌,提交请求给

https://dynamic.12306.cn/otsweb/order/querySingleAction.do?method=init

8,拿上获取到的令牌,提交订单,提交请求给

https://dynamic.12306.cn/otsweb/order/confirmPassengerAction.do?method=confirmPassengerInfoSingle

9,查询订单状态。提交请求给

https://dynamic.12306.cn/otsweb/order/myOrderAction.do?method=queryMyOrderNotComplete