新版12306的刷票故事

     本屌丝家在异乡,逢年过节免不了与12306你侬我侬一番。每次都有种力不从心的赶脚,之前因为时间关系,没有深究12306如此神奇的原因,最近仔细研究了网上两位高人关于新版12306抢票工具的代码,在学习的同时,谈谈自己的感想先。话不多说,记录如下:

    第一位的原贴地址是:http://www.cnblogs.com/leefan/p/3521629.html,这位仁兄的想法很是独到,他将一些在前端的判定省略,从而很巧妙的借助已有jquery函数巧妙绕过了验证码的输入,达到自动提交不用输验证码的效果,并且修改一个参数,就可以将自动刷票的间隔时间随意更改。本屌是js的初学者,在对原作者无限崇拜的同时,发现由于作者是顺着12306的思路,所以用了两次ajax通信,第一次是验证码验证,第二次是提交购票信息,第一次还将ajax设置为同步,所以有些耗时。那么既然是欺骗后台,为什么不直接删掉第一次验证码的ajax通信呢,岂不是可以节省更多时间,带来更多机会?于是本屌抱着试一试的态度,将第一次通信省略,发现可行。当我有点小激动的想去把第二次通信删除时,返回如下页面,(这不是传说中的维护画面吗?),本屌后来想通了,因为你这个账号是没有在服务器端有任何的订购记录,所以不会给你订票的,有可能每晚23点以后就把这第二个ajax的调用给关闭,使我们没有办法继续购票,如果这样的话,那么23点之前订购成功的票,是可以在23点45分之前付款就行了(待验证)。有点跑偏了,回到正题,所以本屌最后在原作者基础上改过代码如下,至于如何运行,本屌就不多说了,毕竟原作者非本人,但是如果要在firefox上运行,我遇到的问题是需要把$统统改为jQuery,否者FF会报不识别函数的错误。

 

autoSearchTime=600;
$("#randCode2").unbind('keyup');
function bO() {if ($("#sf2").is(":checked")) {return "0X00"} else {return "ADULT"}};
$("#randCode2").on("click",
     function(bS) {
        $("#back_edit").trigger("click");
        $.ajax({
          url: ctx + "confirmPassenger/confirmSingle",
          type: "post",
          data: {
           passengerTicketStr: getpassengerTicketsForAutoSubmit(),
           oldPassengerStr: getOldPassengersForAutoSubmit(),
           tour_flag: "dc",
           randCode: $("#randCode").val(),
           purpose_codes: bO(),
           key_check_isChange: md5Str,
           train_location: location_code
          },
          dataType: "json",
          async: true,
          success: function(bR) {
             otsRedirect("post", ctx + "payOrder/init?random=" + new Date().getTime(), {})
          },
          error: function(bR, bT, bS) {
           return
          }
         })
        $("#randCode2").removeClass("inptxt w100 error").addClass("inptxt w100");
        $("#i-ok2").css("display", "block");
        $("#c_error2").html("");
        $("#c_error2").removeClass("error");
        return
});
setInterval(function(){
 if($("#autosubmitcheckticketinfo").css("display")!="none"){
  $("#randCode2").trigger('click');
 }
},400);

    

     第二位大神的思路同样很赞,原贴地址是:http://www.cnblogs.com/guozili/p/3512490.html,他实现了CDN的自动切换,事实和理论证明,这样是管用的,我们不知道哪个CDN的缓存最先更新,或者简单理解:余票信息在主服务器上是一定的,那么这些信息更新到各地的CDN时间不一,有的几秒钟 ,有的几分钟,相信大家都有这样的刷票经历:和朋友第一时间一起开始刷票,可是人家那都买完了,自己还是没有显示一张票,不是网络慢,不是电脑差,更不是你人品不行,而是你被路由到一个更新慢的CDN了(好像也是和人品有点关系)。原作者切换hosts ip的动作我是通过在VS上搭建一个ASP web 应用程序实现的,大家记得把port设置成1111就行了,或者改js里的port寻址。我没有改什么东西,只是觉得把host 更换频率可以放快点(原来代码是5秒),另外建议大家把两位大神的方法一起用,那效果是刚刚的(既自动换CDN,又不用输验证码)。

     其实想想12306也很不容易,哪个网站这样糟蹋也消受不起,我能理解将一些判定放在前端是为了后端减压,可是咱毕竟拿了那么多钱在整网站,把钱用来加强一下后端处理能力,也不至于网络黄牛漫天飞吧,最后希望每个人都能买到满意的火车票,过个胡吃海喝的大年!

     此贴为学习贴,仅此而已。发帖的时机有些晚,还是希望能帮到大家。

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值