12306

文章只做技术研究  如果通过此技术违反国家法律,一切后果自负,作者不承担任何责任。

好吧,先来唠叨,唠叨。这几天大家都沉浸在抢票中,当然我也不例外。

最后总结一句,有抢票软件不一定能抢到票,没抢票软件一定是抢不到票,网页一点就死了。

往年,还能弄个小工具抢抢,今年12306换了件新衣服,更加跑不动了,最后独留下孤单在心里。

好吧 ,进入正题:玩转新版12306抢票

订火车票无非是如下几个流程: 

登录 - 查询 -  点预定按钮 - 提交订票用户 -  确认订单 或者是 自动所谓的自动刷票   登录 - 查询 - 输入验证码提交

下面一起分析分析这两套流程:

首先准备抓包工具

登录拆分为:

https://kyfw.12306.cn/otn/  抓cookie



https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand 获取验证码


https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn  预验证验证码


https://kyfw.12306.cn/otn/login/loginAysnSuggest   登录




https://kyfw.12306.cn/otn/login/userLogin 正式登录(没有这个请求是无法登录的)



订票流程

查票   https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2014-01-04&leftTicketDTO.from_station=SZQ&leftTicketDTO.to_station=BHQ&purpose_codes=ADULT

注意这个请求的cookie  这个cookie会伴随抢票流程的始终。有时候有些人会返回-10等等一些奇怪的错误,我这里想说 get请求参数是可以验证先后顺序的,注意顺序就好了。


点击预定按钮

https://kyfw.12306.cn/otn/confirmPassenger/initDc    这个请求主要是获取订单提交时候的2个令牌值(REPEAT_SUBMIT_TOKEN,key_check_isChange)


获取提交订单验证码 

https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew.do?module=passenger&rand=randp&0.4528230968713445


预验证验证码

https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn


检查订单

https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo


有人会想问 oldPassengerStr和passengerTicketStr是什么,这里给一段代码把

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /** 
  2.      * 获取OldPassengerStr 
  3.      *  
  4.      * @param userInfo 
  5.      * @return 
  6.      */  
  7.     public static String getOldPassengerStr(List<UserInfo> userInfo) {  
  8.         String oldStrs = "";  
  9.         for (int i = 0; i < userInfo.size(); i++) {  
  10.             String oldStr = userInfo.get(i).getName() + "," + userInfo.get(i).getCardType() + "," + userInfo.get(i).getCardID() + "," + userInfo.get(i).getType();  
  11.             oldStrs += oldStr + "_";  
  12.         }  
  13.         return oldStrs;  
  14.     }  
  15.   
  16.     /** 
  17.      * 获取PassengerTicketStr 
  18.      *  
  19.      * @param userInfo 
  20.      * @return 
  21.      */  
  22.     public static String getPassengerTicketStr(List<UserInfo> userInfo) {  
  23.         String oldStrs = "";  
  24.         for (int i = 0; i < userInfo.size(); i++) {  
  25.             String oldStr = "";  
  26.             if ("WZ" == userInfo.get(i).getSeatType()) {  
  27.             } else {  
  28.                 oldStr = userInfo.get(i).getSeatType();  
  29.             }  
  30.             String bR = oldStr + ",0," + userInfo.get(i).getTickType() + "," + userInfo.get(i).getName() + "," + userInfo.get(i).getCardType() + "," + userInfo.get(i).getCardID() + ","  
  31.                     + (userInfo.get(i).getPhone() == null ? "" : userInfo.get(i).getPhone()) + ",N";  
  32.             oldStrs += bR + "_";  
  33.         }  
  34.         return oldStrs.substring(0, oldStrs.length() - 1);  
  35.     }  

其实把  这两个参数怎么拼接的  可以在js里面找到答案。


获取时时余票

https://kyfw.12306.cn/otn/confirmPassenger/getQueueCount


确认订单

https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue



其实  说到这个应该也就快完了  剩下的刷票流程短一点,大家可以自己抓包分析。曾经这里出现过无须验证码提交订票信息的漏洞,最近这两天好像修复好了。

其实吧,技术只是一方面,重要的是理解流程。


转载请注明出处:http://blog.csdn.net/hncdyj/article/details/17952815

源码分享:http://www.zuidaima.com/share/1642189453937664.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本软件在线购买付款完成后,点击网站左边的“软件管理”查看并自助完成操作; 我们一直在为老百姓的便捷购票而努力,12306更新频繁,我们也一直在升级改进。 助手一次购买永久免费升级,今天刷不到明天继续,只要火车还没开,就会有希望。 保持良好心态,灵活使用心蓝助手,坚持刷下去,我们相信大家都会买到需要的票。 自助完成购买,无需联系客服,付款确认订单后点击左边的"软件管理",按右边说明完成。 QQ咨询可能会有遗漏的回复,有重要问题或意见建议请发邮件至 [email protected] 。 如因12306升级导致助手无法使用,请到12306官网尝试,耐心等待我们修复升级! 助手虽操作便捷功能强大,但竞争激烈,我们不能保证您可以第一时间购票成功! 预售60天,预留票退票比较多,只要坚持刷肯定99.9%可以刷到,请保持良好心态! 希望大家都自己抢票,千万别以为第一时间没买到,就没希望了,坚持刷会成功的! 新手请仔细查阅助手界面上的每一个文字、按键,尤其是左上角的"帮助"-"用户指南"! 自己抢票,远离黄牛!网络购票原来如此简单! 心蓝12306订票助手-咱老百姓自己的抢票软件! 只需一次购买,享受永久免费的在线自动升级! 助手只能登录1个账户,且36小时内限提交5张! 倒卖车票是违法行为,请合理合法使用本助手! 我们一直在努力为老百姓提供一个功能最为强大,价格最为优惠,售后最为贴心的12306订票助手! 目前支持自动查询,自动提交订单,支持学生票儿童票,支持改签,订票成功短信通知等! 心蓝12306订票助手是由心蓝数据(Bhdata.Com)开发,基于铁路客户服务中心官网(12306.cn)的一个火车票网络订购实用客户端程序,自2012年1月6日发布第一个版本以来,受到了广大网民朋友的热情欢迎。如今历经数个版本的升级优化,主要具有如下几个特点: 1、界面简单大方,操作方便,支持快捷键,支持代理网络; 2、自动检测12306根证书,如未安装则会提示并可自动完成安装; 3、支持添加多个出发地目的地多站点轮查,添加多个出发日期多日期轮查; 4、独创的指定车次、席别及筛选优先设置功能,支持学生票、儿童票等所有票种; 5、定时查询,自动查询有票后自动提交等实用功能,满足智能自动化购票需求; 6、灵活的乘客选择、复制、编辑管理等功能,支持多票种混购模式,如硬座加硬卧; 7、支持保存账户密码,自动记忆最后一次相关设置,下次使用本助手时更加方便; 8、内置未支付订单和已支付订单查询,首创改签自动查询提交功能让改签更省力省心; 9、文件-选项中含多项自定义参数,如订票成功邮件(手机短信/微信)通知及美妙声音提醒等; 10、一次购买,永久免费升级。精益求精,告别繁琐,抢占先机,从此购票无忧。 助手属于辅助类程序,不能保证任何时候程序的可用性(如12306官网突然修改网页程序)。 我们可保证您购买程序时的程序是可用的,如您对这未来的不可预知性无法认同,请您放弃购买。 程序不能保证您第一时间抢到票购买请慎重。但我们承诺会一直免费更新,发现问题第一时间解决问题。 "立即下载"为安装版,绿色免安装压缩包最新版V2363下载地址:下载地址一 下载地址二 特别提醒: 如因12306升级可能导致助手会临时失效,此时建议您12306官网购买,同时关注我们助手的更新。 本程序仅仅是方便老百姓“自己抢票 远离黄牛”,请勿用于其它非法商业用途,否则一切后果自负。 常见问题 •1、可以试用吗? 本程序您可以免费下载安装,未授权仅能查询余票不能提交订单,授权后才可以正常购票; •2、怎么下载提示是病毒呢? 部分杀毒软件提示病毒风险,纯属误报,请大家放心使用!>>>点击查看解除误报方法 •3、注册码授权和加密狗授权有什么区别? 功能是一样的。注册码由识别码和注册名生成,与固定电脑绑定,购买后立即可以使用; 加密狗则类似银行U盾,需要我们快递,收到后插上哪个电脑哪个电脑就可以使用; •4、怎样购买? 选择对应的授权点击"立刻购买",按页面说明完成付款并确认订单; 购买成功后,点击左边的"软件管理",右边就有对应详细的自助操作说明; •5、助手同时只能登录1个账户,且36小时内限提交5张是什么意思? 为防止滥用,允许开3个窗口但必须用同一个12306账户,关闭后再开才可以用其它账户登录; 您提交成功几张,36小时后就会给您返回几张名额。具体请查看助手帮助中常见问题16条; •6、软件可以改签吗? 可以。点击界面右上角我的火车票-已支付订单-找到需要改签的乘客-点击“改签”; 此时助手进入改签状态,只能改日期、席位、车次,设置好后使用自动查询即可自动改签; •7、购买后,软件删除了再次安装或系统重装了还可以用吗? 可以。注册码授权信息保存在您的电脑系统里,卸载心蓝再安装等都不影响您的授权; 系统重装后请用购买时的账户登录心蓝官网,点击左边的"软件管理",右边查看您的授权信息; •8、我更换了新电脑,之前的注册码还能用吗? 不能。更换电脑或硬件后助手的识别码已和您之前购买的不一致,所以您的注册信息会失效; 但您可以点击网站左边的"软件管理",在右边将您的注册码补62元升级为加密狗; •9、我的加密狗丢了怎么办? 加密狗遗失、损坏等可以申请补发。点击左边的"在线充值",充值39元后联系客服办理; •10、购买后,可以用多久呢? 我们一直为老百姓的便捷购票而努力,助手一次购买永久免费在线升级。但第8、9条除外。 •更多常见问题,请打开下载的心蓝,点击助手界面左上角“帮助”-“用户指南”... 其它说明 1、本助手不会存储任何个人身份信息,用户名密码等都是直接提交给12306官网,请大家自己保护好信息; 2、为提高购票效率,希望大家仔细看界面说明及帮助,并在购票时将电脑右下脚可退出的程序都退出; 3、如杀毒软件已经信任,甚至卸载后助手还是无法打开运行时,请点击此处下载.net 4.0修复安装后重试; 4、当点击左上角"帮助"-"软件注册"就会出现异常或显示不了识别码时,请下载心蓝WMI服务修复工具强制修复; 5、因个人电脑系统问题,可能会遇到.net 4.0安装失败的情况,请尝试如下方法修复:点击查看如何修复.net 4.0。 更多详细说明请查看: 心蓝12306订票助手——轻松购票快乐回家〔2014〕...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值