项目地址: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
本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2012/12/28/2837913.html,如需转载请自行联系原作者