当上周我还在海上漂的时候,一位同学通过微博联系我,希望知道一些我对12306几个点儿上的事情。那会儿在海上漂处于失联模式,因此拖到现在才有时间来写点啥。
其实也一直打算有时间的话再写个12306总结的2016版(之前的两三年每年我都会写很长很长的东西来回顾当年的12306的),只是后来时间有限自己也疏于笔头,就暗搓搓地想要不直接当忘记好了。
既然有同学有需求的话,那还是来写点吧。这次可能不会太详细,很多内容之前都写过了其实。
由于我比较懒,就不具体展开了。只针对同学问我的点解释一下……
1.当初是什么原因促使你开发这款插件的?
这个问题比较经典了,其实原因很简单:我需要用,因为我是个很懒的人,是绝对不愿意反复输验证码不断重试的。所以我需要在一定的限度内解决繁琐冗余的环节。
具体的信息,可以...
木魚
9年前 (2016-02-03) 7540℃ 2评论
28喜欢
0. 重要提示
除非遇到重大问题或重大变更,那么 10.5.0.2 版本将会是订票助手.NET在V10系列上的最终版本。目前没有迹象表明我有精力和耐心去继续下一个开放下载和使用的大版本更新。
1. 变更详情
重构界面更新算法,大幅降低后台刷票时的内存和CPU占用;当查询数量特别多(>10个查询同时运行时),对系统的性能影响有极大的改善
调整界面部分选项(席别、车型)部分的响应算法,提升响应速度,并修正性能不够快的计算机上会导致异常的BUG
修正退票时如果12306服务器错误会导致抛出异常的BUG
修正站点轮询时偶现的Null异常
修正启动界面上的错误文案
查票界面上的选项增加部分提示性文案
增加系统维护期间刷票自动推迟到起售的功能
修正web通知配置无法正确显示导致保存出错的BUG
...
木魚
9年前 (2016-01-11) 17703℃ 27评论
107喜欢
0. 更新概述
订票助手.NET V10 (10.4)是一个功能和稳定性更新。除修复之前版本存在的部分BUG外,引入了俩不起眼的新功能。
1. 变更详情
增加订票成功后WEB地址通知功能
新增在操作后(输入验证码时)自动停止提示音乐的功能
修正提交订单时票种无法选择的BUG
修正订单提交页面刷新联系人列表会显示已添加联系人的BUG
修正刷新订单管理面板时,会重复弹出排队窗口的BUG
修正部分临客线路超长导致停靠站列表日期计算错误的BUG
其它细节修改
2. 订票成功后WEB地址通知
用来在订票成功后向指定的HTTP接口发送相关信息通知,一般用于自己的通知服务(如短信平台)。
3. 在操作后(输入验证码时)自动停止提示音乐的功能
为新增的选项。
4. 更多信息
更多信息以及下载,请参见...
木魚
9年前 (2015-12-28) 8622℃ 11评论
10喜欢
0. 更新概述
订票助手.NET v10.2是一个功能和稳定性更新,包含了对之前版本中存在的部分比较影响使用的BUG进行修复,同时包含了一些新特性。
除非出大问题或12306有更新,那么从此版本开始的一段时间内订票助手.NET将会冻结功能开发并降低维护升级频率。
1. 功能变更
如果你很高概率地遇到奇奇怪怪的错误,如登录提示 EXPIRED 等,请参见 http://bbs.fishlee.net/thread-8428-1-1.html 协助我定位情况。
订单提交窗口在排队的时候支持取消排队 (需要点击两次取消按钮以免误操作)
订单管理界面支持排队中订单,有订单正在排队的时候将会自动弹出排队窗口,并可以取消排队
改签的时候自动禁用部分提交
修正刷票过程中偶然的失败会导致错误提示无法继续的...
木魚
9年前 (2015-12-22) 5437℃ 2评论
3喜欢
OS: 本版本终于修复了一个困扰了朕这么多天的空引用异常错误……
更新概述
12306订票助手.NET 10.1.0.1 是一个功能和稳定性更新。除包含常规问题的修复和功能更新外,还引入了部分新功能。
引入了如下的新功能:
多个账号的订单或通知窗口弹出时,默认将自动网格布局窗口避免重叠;默认启用动画效果,可在设置中关闭
过滤选择席别时,将同时过滤查询结果中的席别显示结果(默认启用,可配置)
过滤条件选择席别时,将优先自动预定对结果进行处理
过滤查询条件切换的时候,自动刷新当前的查询结果
同一个账户多次重复提交时,自动关闭已过期的提交窗口
订单提交中和登录的提示信息改为浮层和嵌入层提示,避免被挡住
增加虚拟登录模式,在12306维护不可登录期间,可以以离线方式登录账户之中并进行查询操作
1...
木魚
9年前 (2015-12-17) 5885℃ 2评论
15喜欢
更新概述
12306订票助手.NET V9 9.8.0.1 是一个功能和稳定性更新。
本版本主要是针对之前或当前12306新出现的一些限制或不稳定情况做出应对。
提示:如果你遇到了传说中的线程错误,请尽量通过论坛或QQ群将可能重现问题的步骤和当时的情况反馈给木鱼,以便于懒鱼定位问题并修复。
主要更新了以下内容:
修正登录对话框在重新登录时有时会没有密码且无法输入密码的BUG
邮件通知流程重写,在订单成功窗口显示邮件通知状态
代购模式下订票成功后将会同时显示代购信息中的备注信息以便于通知
远程打码选项增加,以便于处理远程打码时自己手动输入的情形(默认忽略打码结果)
IP封锁桌面弹窗可设置关闭
进入的12306信息框增加开关并屏蔽不重要消息
保持在线算法更新(实验中),期望能降低并挽救被强退的...
木魚
9年前 (2015-12-16) 3998℃ 2评论
2喜欢
更新概述
12306订票助手.NET V9 9.8.0.1 是一个功能和稳定性更新。
本版本主要是针对之前或当前12306新出现的一些限制或不稳定情况做出应对。
主要更新了以下内容:
登录流程重写
订单流程优化
引入验证码校验延迟
增加验证码加载失败时的强退检测
其它问题修复和异常情况捕捉以及细节修改
下载以及更多信息
请参见官网、
...
木魚
9年前 (2015-12-14) 4650℃ 0评论
10喜欢
我感觉文章写长了就会没人看。所以这是快速科普。完整的在后面(如果你有兴趣看的话)。
1,是不是12月3日前没有完成手机核验的以后就必须去车站刷身份证了?
不是,必须去车站的是身份核验失败,手机核验只是必须在买票前核验,而原公告内容说的是3日前未核验也可以买票 (心疼乃们的语文老师 )。
2,每个整点半点都会有新票出来?
别天真了,那个说的是预售期当日的车票车站是分开起售的,如果你没买到的话那车票随时出来,看你走不走运。(这又是一个被文科生记者全民误导的经典案例,心疼记者们的语文老师 )
3,刷票速度越快越好?
不是。反正因素很多,你尽管1秒2秒刷好了,反正最多封IP,一封一整天,一封一公司,别让你同事和小区邻居们知道是你刷害得他们没法买票的。
4,收费软件为...
木魚
9年前 (2015-11-27) 118896℃ 76评论
455喜欢
0. 更新综述
12306订票助手v9是一个比较大的更新版本,主要功能变更如下。
查询列表显示始发站和终到站(非始发站和终到站)
【PRO】系统提供发送邮箱
【PRO】车次车票历史信息概览
【PRO】各线路余票以及历史余票信息允许保存和打开
手机校验,注册、修改邮箱手机号、修改密码需要验证码校验
独立的查票页(不登录查票)
SOCKS5代理服务器支持
支持识别异常的车次数据并允许忽略
刷票设置中,跨站查票的时候车次编号变动可自动跟踪
本地时间差异过大时给出警告
订单支付页面默认使用IE打开
停靠站列表里显示日期(不仅仅时间)
兼容最新的封IP提示信息
代购提供邮件通知
识别最新的IP被封提示
停靠站查询中,时间同时显示日期
强制退出登录时声音提示
跨站票查到时,声音提示
列车运行图调整,暂...
木魚
9年前 (2015-11-26) 26320℃ 61评论
147喜欢
更新综述
8.0.8是一个功能更新版本。本版本最大的变更应该是增强联系人管理功能。而这所有的功能变更,可用下图来表示。
下载信息
更多信息参考订票助手.NET主页。
...
木魚
9年前 (2015-08-21) 6569℃ 6评论
6喜欢
每天我都在烂尾和不烂尾间徘徊。每次我都想着累死累死累死,我这么彷徨这么无助这么凄凉,连路灯都用昏黄的灯光为我默泪,为什么我还要在这边继续着有人看或没人看的事,写能怎么样,断更又能怎么样。只是强迫症的独特天赋在鞭策着我,于是每次都会极不情愿地拿起键盘,强大的羞耻心在时刻地提醒着我,如果真的断更了,下一次上厕所你一定会忘记带纸,你就只能凄凉着等着有人路过大方地施舍给你一张草纸,因为你连人民币都没有,你从来不会在大号的时候带着钱包。说到这里,下次记得放一卷手纸在卫生间的角落里。。。
上一章写到已经成功获得了验证码并且输入。那么输入后能干嘛?当然先登录了
7.1 先完成一些辅助函数和登录界面
创建登录界面应该是极为简单的事情,就不多说了。我们这里设计个登录界面如下。
然后写上了俩调用函数。
...
木魚
9年前 (2015-08-18) 18647℃ 15评论
23喜欢
更新综述
8.0.7是一个小幅度更新版本。
修正提交订单页联系人快速提示信息不消失的BUG
查询页面提示信息增加隐藏功能
其它细节调整
新增的隐藏按钮如下所示。
隐藏后将会变成查询状态栏上的一个按钮,点击可恢复。
如果想彻底关闭建议功能,请进入选项-查询视图。
下载信息
更多信息参考订票助手.NET主页。
...
木魚
9年前 (2015-08-12) 3967℃ 0评论
3喜欢
前言:这段时间太忙,这个系列几乎没抽出时间来写。现在来慢慢继续挤牙膏。关于FSLIB.NETWORK网络库或这个演示项目有任何问题的,请在问答社区(http://ask.fishlee.net/category-21)中反馈提问
6.1 验证码流程分析
我们照例打开Fiddler抓包,在跟踪登录和提交流程后,我们可以很容易看到相关的请求。我们先到登录12306的页面上看看样子。
看到了让人抓狂的图片验证码。其实我对这验证码还是好评的。让我们先来试一下验证码错误是什么情况。两行四列图片,我们先点击第一行第一张的左上角,和第二行第一张的左下角,也就是截图中标记的两个区域。这么做的原因是为了待会儿的提交测试做坐标映射(因为提交出去的信息不一定就是相对于图片本身的原点的)。也就是这样。
...
木魚
9年前 (2015-08-12) 9778℃ 3评论
17喜欢
更新综述
8.0.5是一个功能更新。相对于8.0.4来说,最显著的变更是自动预定的席别设置允许添加备用席别。
有同学说这个备用席别不如叫备胎席别更形象……但我不是很喜欢这么叫,乃们也可以这么理解,whatever…..乃们开心就好。
使用说明
考虑这样一个场景,某一趟车现在只有硬座或无座,而你想要硬卧。于是你选择刷票,刷硬卧。但你又怕耽误时间到时候连硬座或无座都没有。于是你想要将硬座或无座同时纳入选择范围,但当它们票还充足的时候,不去考虑他们。
打开订票助手.NET查票。假定查到如下的结果。
我们看到T63现在只有高级软卧和无座。我们期望能刷出来硬卧。但是我们需要一张无座的票来保底(以免无票的悲剧在自己身上上演)。
这时候我们有两个方案:1,先直接买无座,然后刷硬卧改签;2...
木魚
9年前 (2015-08-04) 4986℃ 5评论
12喜欢
8.0.4 概述
8.0.4 是一个功能性更新更新,在8.0.3的基础之上,引入了部分购票建议。
变更详情
以下部分截图为模拟数据,逻辑可能有错误。
1.预售期的票尚未起售时,如果非始发站,将会依据始发站起售时间给予提示(猎豹浏览器/订票助手、订票助手.NET同时支持)。
订票助手.NET建议中,双击对应的行即可快速打开新标签查询对应的线路。
车次数据不理想时,将会提示中转和跨站。
最后给出最终版本的始发站购票提醒截图。
以上建议功能可以关闭,在选项–查询视图设置中可关闭。
相关网址
其它信息请参考主页。
...
木魚
9年前 (2015-08-03) 3310℃ 0评论
0喜欢
8.0 概述
8.0 是一个功能性更新更新,主要引入了远程打码功能
变更详情
接入远程打码功能,支持UU云和打码兔
调整验证码流程
其它细节更新
相关网址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
...
木魚
9年前 (2015-08-01) 3338℃ 0评论
2喜欢
7.25 概述
7.25 是一个小幅度更新,更新了些看起来有卵用但其实没啥卵用的东西。
较为明显的功能性更新将会在V8中体现。
嗯,不过V8目前还没有在开发计划中。
变更详情
订单管理更新,支持变更到站车票状态显示
修正个别情况下无法关闭设置对话框的BUG
错误信息监测增加IP封锁提示
增加调试模式,便于在出现错误时提供详细日志
相关网址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本版本下载地址:http://www.fishlee.net/service/download/600/12306%e8%ae%a2%e7%a5%a8%e5%8a%a9%e6%89%8b.net_7.25.7z
...
木魚
9年前 (2015-07-08) 3290℃ 2评论
1喜欢
7.24.1 概述
7.24.1 是一个维护性更新,更新了些其实没啥卵用的东西。
变更详情
移除欢迎页百度推广栏 (去掉了广告)
配置中心增加重置所有设置数据的功能(包括用户记录)
相关网址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本版本下载地址:http://www.fishlee.net/service/download/593
为啥去掉了百度广告
为啥去掉呢……是这样的。当时之所以加上是因为鬼迷心窍,觉得可以赚点儿零花钱贴补家用。加过之后就没去管了,今天看邮箱才发现原来百度这老家伙早就在2月初(没错,加了没几天)的时候就封禁了我的推广账号,说是违反规则啥啥啥的,让我自查。我可没这耐...
木魚
9年前 (2015-06-23) 3528℃ 1评论
0喜欢
7.24 概述
7.24 是一个功能性更新,调整了订单改签流程。
变更详情
同步12306最新改签政策,符合条件的订单改签时可以改签到站
修正退票成功但依然提示退票失败的BUG
其它细节修正
相关网址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本版本下载地址:http://www.fishlee.net/service/download/588
购票提示
推荐的操作:开启CDN加速,多次重复登录以便于使用不同的CDN节点,效果比一次登录开多标签好
如果你要购票的车站是过路站,请尽量往前往后看几站,买到大站以及通票。越是中间的过路站有票的概率越低
随时关注。切记不是预售期最后一天的票不是按...
木魚
9年前 (2015-06-14) 4288℃ 0评论
0喜欢
在上次提交之后到现在开始本章之前,源码库做了一些修改,主要是修正了两个地方的错误,并完善了一下不是很关键的流程。为了简便起见,这里不做展开。变更的内容为:Session增加了状态变更的事件通知以及登录信息;主窗口退出按钮增加处理事件;登录和注销的状态切换绑定到工具栏的登录和注销按钮上;登录信息中增加了当前登录用户的真实名称。
5.1 查票流程
5.1.1 流程分析
其实查票是一个相对比较简单的流程。掏出Fiddler回去看抓包的结果。简单的浏览请求后,只要不是眼瞎应该都可以看到请求。。。
(这里为了方便,用的是Fiddler抓包。其实用浏览器的开发者工具抓包效果是一样的,某些方面可能比Fiddler还方便,比如看数据预览)
右侧很明显可以看到是我们有兴趣的数据,然后回过头看看...
木魚
9年前 (2015-06-10) 15910℃ 21评论
16喜欢
咳咳……本来是打算上个周末弄出本章的,结果因为种种种种时间没安排开的关系,就给忽略了(其实是因为写搜资源的那个软件花了过多的时间……),所以现在赶紧来补上,免得太监了。
本章内容
本章内将会完成如下事情:
构造主窗体并将大致界面构造出来
将UI界面与当前订票的上下文关系关联起来
完成基本数据的准备和相关过程中的界面等待
4.1 构造大致界面
为了简便起见,这里我们约定使用比较简单的界面布局,暂时不添加复杂的功能选项界面。初步规划的界面如下图所示(这是个原型图,表以为我设计是多么的专业,其实我从来不用这玩意儿,这次拿出来耍耍只是为了装逼):
从原型图可以看出来,这是一个比较简单直接的订票界面,没有考虑到刷票等比较复杂的功能,也并没有设计什么多账户登录的功能。一是这样可以简化设计,比...
木魚
9年前 (2015-06-08) 11271℃ 10评论
11喜欢
7.23 概述
7.23 是一个功能性更新,调整了提交订单流程。
变更详情
增加新的同步订单提交接口
修正登录验证码错误时不会重新提醒输入的BUG
相关网址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本版本下载地址:http://www.fishlee.net/service/download/587/12306%e8%ae%a2%e7%a5%a8%e5%8a%a9%e6%89%8b.net_7.23.0.0.7z
购票提示
推荐的操作:开启CDN加速,多次重复登录以便于使用不同的CDN节点,效果比一次登录开多标签好
如果你要购票的车站是过路站,请尽量往前往后看几站,买到大站以及通票。越...
木魚
9年前 (2015-06-06) 3054℃ 0评论
0喜欢
3.1 本章前言
从本章开始,将会涉及到具体的开发过程。工欲善其事,必先利其器。话虽如此,但准备工具之前知己知彼还是比较重要的……
3.2 12306流程分析
这里我们从一个典型的用户订票流程来考虑并设计流程。
注意:这里同时已经设置好了Fiddler和过滤器以抓取所有请求,供后面使用。如果此时你还没有进行这样的操作,在这之后每一步可能都需要临时分析,会花费不少多余的时间,强烈建议你现在就抓取一个完整的流程记录。相关的内容请参考上一节。
首先用户进入了查票入口,选择日期和地点。这里以经典的北京–上海为例,时间选择的是7月20日,这里的信息不是关键的信息,可以根据你自己的需要来设置。
点击查询后,会跳转到查询页面,并显示查询结果。
这里假定我们要定G1次列车,点...
木魚
9年前 (2015-05-28) 6811℃ 7评论
9喜欢
2.1 前言
其实要做一个12306的软件版客户端,其核心奥义就是抓住重点扔掉花里胡哨的东东。抓住重点说的就是相关的API接口,花里胡哨的东西说的就是图片啊样式啊之类的东东,对于WEB来说它们是必不可少的,但是对于软件版来说这些则是累赘的东西。
由于一个WEB网站中占用体积大头的往往都是些静态的不会动的无生命物种,因此去掉这些东东既可以提高操作速度也可以减轻服务器的负载需求。虽然大型的网站都有CDN了,但是带宽也是要成本的是不是?虽然这成本和咱并没有什么关系。
既然要用软件去实现WEB接口并实现整个流程,那么在林林总总的HTTP请求中准确地找到相关的请求并正确的识别出请求内部的各个参数就很重要了。
2.2 请求跟踪
一般而言,识别请求是个经验活,而识别请求内容并判断响应内容则是个运气活了…...
木魚
9年前 (2015-05-22) 9992℃ 7评论
14喜欢
本项目是由木鱼发起的一个基于.NET4.5的12306订票客户端。项目使用C#语言,使用FSLib.Network项目作为网络层访问库,主要用于演示目的。
主要原因是因为很多同学希望能借由12306练手,以此打开通往网络编程的大门……选择12306不是没有原因的,因为其复杂多变,又有错综复杂的逻辑关系,又十分具有现实意义,嗯。
12306订票助手.NET的代码由于历史和功能的原因,其体系过于庞大,并不适合(且目前也不能)开放源码。因此重新单独启动这个简单的项目,希望能给予想学习网络编程的同学以帮助。
实现目标
本项目仅包含基本的12306功能实现:
登录
查询
提交订单
更详细进阶的功能将会在之后视情况是否加入。
技术概述
本项目出于演示&练习目的,所以将会使用较新的平台、工具以...
木魚
9年前 (2015-05-19) 8645℃ 4评论
20喜欢