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

简介:
项目地址: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,如需转载请自行联系原作者



目录
相关文章
|
XML 敏捷开发 JSON
log4go源码分析(一)
log4go源码分析(一)
|
Go JavaScript
雪崩利器 hystrix-go 源码分析
阅读源码的过程,就像是在像武侠小说里阅读武功秘籍一样,分析高手的一招一式,提炼出精髓,来增强自己的内力。 之前的帖子说了一下微服务的雪崩效应和常见的解决方案,太水,没有上代码怎么叫解决方案。github上有很多开源的库来解决雪崩问题,比较出名的是Netflix的开源库hystrix。
1096 0
|
Kubernetes 容器
Kubernetes Client-go Informer 源码分析
几乎所有的Controller manager 和CRD Controller 都会使用Client-go 的Informer 函数,这样通过Watch 或者Get List 可以获取对应的Object,下面我们从源码分析角度来看一下Client go Informer 的机制。
4585 0
|
网络协议 Go Memcache
go gomemcache包源码分析
go gomemcache包源码分析
11211 0
|
分布式数据库 Go Hbase
|
22天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
36 7
|
22天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
22天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
95 71