12306搶票的關(guān)鍵拼的就是整點出票的速度,快的幾秒鐘,慢的幾分鐘,本文提供終極搶票攻略,通過多線程掃描上萬個CDN,來大幅度提升出票速度。
準(zhǔn)備一:需要了解CDN和切站的機制,請參考:
分享12306秒票殺手锏源碼:http://www.cnblogs.com/guozili/p/3512490.html
分享12306搶票心得最終篇:http://www.cnblogs.com/guozili/p/4166675.html
準(zhǔn)備二:需要熟悉12306最重要的查詢接口和下單接口及傳入的參數(shù)規(guī)范
/otn/leftTicket/queryX 和 /otn/leftTicket/submitOrderRequest
具體流程請參考:解析12306訂票流程
12306 CDN研究機制一
12306對kyfw.12306.cn用到了全站CDN緩存,至少上萬的CDN IP
對于90%的子頁面使用了CDN緩存
部分動態(tài)內(nèi)容如個人中心,CDN將充當(dāng)代理去12306實際服務(wù)器讀寫數(shù)據(jù),請百度“cdn回源”
12306 CDN研究機制二
官方網(wǎng)站的自動查詢,每次都會命中同一臺CDN
拿到的都是CDN緩存數(shù)據(jù),緩存時間2分鐘
所以運氣好的話,整點放票較快就能刷出票,一般情況下要等幾十秒才能看到出票
參考下圖:
12306 CDN研究機制三
360搶票王每次查詢使用不同的CDN,通過內(nèi)置dll插件實現(xiàn),每次查詢映射不同的IP
參考下圖:
12306 頻繁刷票容易被踢的猜測
每次查詢,都會AJAX Log一下,請參考上面截圖