zoukankan      html  css  js  c++  java
  • 怒刷九元航空靠窗座位!

    第一次用九元航空,没有免费托运的行李也就算了,竟然连值机都是要随机(按照你提交选座的顺序来分配),前两次都没刷到靠窗的作为,这让我刚买的单反,怎么在朋友圈装逼呐!不过按照九元的规则,我还有最后一次提交选座的机会,这个一定要把握啊。

    入正题,F12看到,九元的值机页面很简单。在这个页面中输入身份证跟姓名后(貌似只能提前24个小时值机嘛?反正昨天没查出我有机票这一项),点击【查询航班】,之后再点击【值机】按钮(如果已经值机的可以取消值机,然后在进行值机--亲,你只有3次机会哦)。

    之后你会进入这个页面:

    http://www.9air.com/check_seat.html?pid={一串数字}&fno={航班号}&fd=20160303&ori=WNZ&name={姓名}&idno={身份证号}

    然后,F12,,,你懂得!

    在Network中由下往上看,你会发现这个请求:

    http://www.9air.com/aq/GetCheckInSeats?pid={一串数字}&fno={航班号}

    里面返回的JSON数据如下:

    {
        "fid": "XXXX",
        "stf": "0",
        "stqnull": [
            {
                "sn": "1F"
            },
            {
                "sn": "1E"
            },
            {
                "sn": "1D"
            }
        ],
        "stqs": [
            {
                "sex": "F",
                "sn": "5A"
            },
            {
                "sex": "M",
                "sn": "5B"
            },
            {
                "sex": "M",
                "sn": "5C"
            },
            {
                "sex": "M",
                "sn": "5D"
            },
            {
                "sex": "M",
                "sn": "5F"
            },
            {
                "sex": "M",
                "sn": "6A"
            },
            {
                "sex": "M",
                "sn": "8A"
            }
        ],
        "stc": "0",
        "mxy": "XXXXX",
        "at": "XXXXX",
        "destcn": "到达地",
        "fd": "20160303",
        "ori": "WNZ",
        "stq_run_time": "15",
        "dest": "CAN",
        "seqy": "这个也不重要",
        "ac": "XXXXX",
        "aa": "XXXX",
        "fn": "XXXX",
        "sty": "1",
        "oricn": "出发地"
    }
    

      stqs里面是作为已经被预定了的。竟然连性别都有。。。好吧,我很正直,只刷靠窗的位置。

    一下是我写的js脚本,把这个复制到上面那个页面的控制台中就行了:

    var _loop_count=0;
    function checkhb(){//刷航班
    	_loop_count++;
    	var bo=false;
    	$.get("http://www.9air.com/aq/GetCheckInSeats?pid={一串数字}&fno={航班号}",function(data){
    		var minh=5,maxh=32;//行
    		var lei=['A','B','C','D','E','F'];
    		for(;minh<maxh;minh++){//排循环
    			var r=[],r1=0;//已经有人的位置
    			for(var i=0,l=lei.length;i<l;i++){
    				var leeph=minh+lei[i];//当前循环的位置
    				for(var ii=0,ll=data.stqs.length;ii<ll;ii++)
    					if(leeph==data.stqs[ii].sn)
    						r.push(i);
    			}
    			if(r.length==6){//当前排已经坐满人
    				continue;
    			}else if(r.length!=0){
    				bo=r[0]!=0;//说明第一个座位没人,必须抢啊
    				if(bo)
    					break;
    				for(var a=0,b=r.length;a<b;a++){
    					r1=r1+r[a];
    				}
    				bo=(r.length==6&&r1==(0+1+2+3+4));//剩下右边一个靠窗的位置
    				if(bo) break;
    				if(r1!=(0+1+2+3+4+5)){//不用循环了,暂时没有靠窗的位置
    					console.log('循环第'+_loop_count+'次,暂时不能抢!');break;
    				}
    			}else{//当前排没有一个人
    				bo=true;break;
    			}
    		}
    		if(bo) $(".submitbut").trigger('click');
    	});
    }
    setInterval(checkhb,3000);
    

      

    亲们,祝福我刷出靠窗的座位吧

  • 相关阅读:
    MySql主从库配置
    Linux安装MySql5.6.43(亲测)
    Linux安装ffmpeg(亲测)
    Linux JDK安装(亲测)
    Linux磁盘挂载(亲测)
    Finance_CAPM&APT
    Python_QT_量化投资/量化交易 基础入门课
    581. Shortest Unsorted Continuous Subarray
    3. Longest Substring Without Repeating Characters
    239. Sliding Window Maximum
  • 原文地址:https://www.cnblogs.com/tlzzu/p/5238379.html
Copyright © 2011-2022 走看看