怒刷九元航空靠窗座位!

第一次用九元航空,沒有免費託運的行李也就算了,居然連值機都是要隨機(按照你提交選座的順序來分配),前兩次都沒刷到靠窗的做爲,這讓我剛買的單反,怎麼在朋友圈裝逼吶!不過按照九元的規則,我還有最後一次提交選座的機會,這個必定要把握啊。javascript

入正題,F12看到,九元的值機頁面很簡單。在這個頁面中輸入身份證跟姓名後(貌似只能提早24個小時值機嘛?反正昨天沒查出我有機票這一項),點擊【查詢航班】,以後再點擊【值機】按鈕(若是已經值機的能夠取消值機,而後在進行值機--親,你只有3次機會哦)。html

以後你會進入這個頁面:java

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

而後,F12,,,你懂得!spa

在Network中由下往上看,你會發現這個請求:htm

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

裏面返回的JSON數據以下:ip

{
    "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裏面是做爲已經被預約了的。居然連性別都有。。。好吧,我很正直,只刷靠窗的位置。get

一下是我寫的js腳本,把這個複製到上面那個頁面的控制檯中就好了:it

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);

  

親們,祝福我刷出靠窗的座位吧

相關文章
相關標籤/搜索