您的位置:首页 > 编程语言 > Go语言

go-home(一款针对12306的火车票订票软件)源码分析

2012-12-28 21:36 507 查看
项目地址: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: