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,如需转载请自行联系原作者



目录
相关文章
|
1月前
|
存储 算法 安全
基于 Go 语言的公司内网管理软件哈希表算法深度解析与研究
在数字化办公中,公司内网管理软件通过哈希表算法保障信息安全与高效管理。哈希表基于键值对存储和查找,如用户登录验证、设备信息管理和文件权限控制等场景,Go语言实现的哈希表能快速验证用户信息,提升管理效率,确保网络稳定运行。
30 0
|
2月前
|
监控 安全 算法
深度剖析核心科技:Go 语言赋能局域网管理监控软件进阶之旅
在局域网管理监控中,跳表作为一种高效的数据结构,能显著提升流量索引和查询效率。基于Go语言的跳表实现,通过随机化索引层生成、插入和搜索功能,在高并发场景下展现卓越性能。跳表将查询时间复杂度优化至O(log n),助力实时监控异常流量,保障网络安全与稳定。示例代码展示了其在实际应用中的精妙之处。
52 9
|
10月前
|
监控 安全 Go
Go语言高效编码:利用上网行为管理软件实现实时警报系统
本文介绍了如何使用Go语言构建一个实时警报系统,用于监控和管理用户上网行为。通过定义监控规则(如使用正则表达式匹配特定网站),程序可以在检测到违规行为时触发警报。利用Go的goroutine实现并发处理,保证系统高效和实时。此外,系统还将警报信息自动提交至网站,便于管理员及时响应,提升网络安全和员工 productivity。
200 9
|
监控 JavaScript 前端开发
Go语言编程实践:构建网络限制软件的基本步骤
在今天的互联网世界中,网络限制管理是一个重要的主题。不同的组织和个人都需要一种有效的方式来管理和监控网络流量,以确保网络资源的合理使用。本文将介绍如何使用Go语言构建一个基于Web的网络限制软件管理面板,以便轻松管理网络资源分配。我们将使用Go语言、JavaScript和Node.js来完成这个任务。
252 1
|
XML 敏捷开发 JSON
log4go源码分析(一)
log4go源码分析(一)
|
SQL 安全 Unix
Hive 勒索软件新变体:用 Go 语言编写|现在专门以 Linux 服务器和 FreeBSD 作为攻击目标
Hive 勒索软件新变体:用 Go 语言编写|现在专门以 Linux 服务器和 FreeBSD 作为攻击目标
207 0
Hive 勒索软件新变体:用 Go 语言编写|现在专门以 Linux 服务器和 FreeBSD 作为攻击目标
|
SQL 安全 Unix
Hive 勒索软件新变体:用 Go 语言编写|现在专门以 Linux 服务器和 FreeBSD 作为攻击目标
Hive 勒索软件新变体:用 Go 语言编写|现在专门以 Linux 服务器和 FreeBSD 作为攻击目标
Hive 勒索软件新变体:用 Go 语言编写|现在专门以 Linux 服务器和 FreeBSD 作为攻击目标
|
Go JavaScript
雪崩利器 hystrix-go 源码分析
阅读源码的过程,就像是在像武侠小说里阅读武功秘籍一样,分析高手的一招一式,提炼出精髓,来增强自己的内力。 之前的帖子说了一下微服务的雪崩效应和常见的解决方案,太水,没有上代码怎么叫解决方案。github上有很多开源的库来解决雪崩问题,比较出名的是Netflix的开源库hystrix。
1114 0
|
Kubernetes 容器
Kubernetes Client-go Informer 源码分析
几乎所有的Controller manager 和CRD Controller 都会使用Client-go 的Informer 函数,这样通过Watch 或者Get List 可以获取对应的Object,下面我们从源码分析角度来看一下Client go Informer 的机制。
4615 0