活久見,網(wǎng)友在12306和攜程上搶到了同一張火車票
春運搶票實錄:網(wǎng)友在12306和攜程上搶到了同一張火車票。
再有幾天就要過年了,因為口罩的徹底結(jié)束,所以今年的火車票特別搶手,不知道大家都搶到了嘛?
今天看到一個網(wǎng)友的搶票問題,跟程序這塊關(guān)系很大,特別分享給大家。
這個網(wǎng)友同時在12306和攜程上搶票,結(jié)果在12306和攜程上竟然搶到了同一張票,同一車次、同一個座位,關(guān)鍵是錢付了兩份,這真是一個好消息和一個壞消息。如下圖所示,左邊是攜程,右邊是12306。
圖片
問題原因
出現(xiàn)這個問題的原因是什么呢?
我們先來分析下在12306和攜程買火車票的邏輯。
12306:12306就是銷售火車票的官方APP,下單成功那就是真的在數(shù)據(jù)庫中寫入了一條訂單記錄,你能看到訂單就代表搶票成功了,而且這個下單的過程是有事務(wù)隔離保證的或者同一車次就是排隊一張張?zhí)幚淼?,一張票不會賣給兩個人。搶到票之后,抓緊時間付錢就行了。
攜程:攜程本身不賣火車票,所以它最多就是個代理。
- 這個代理可能是官方授權(quán)的,不過自從能在網(wǎng)上買票之后,火車票代售點都關(guān)門很久了,所以攜程不大可能是這種;
- 之前還有一種是調(diào)用接口下單,不過12306已經(jīng)明確不對第三方開放接口,所以這個大概率還是各個平臺收到預(yù)約之后再去12306操作的;
- 最后就是目前比較流行且靠譜的bypass搶票模式,它實際上是模擬用戶的瀏覽器操作,只不過全都由程序代勞了,這個速度肯定比手工操作要快,所以搶到票的幾率也比較高,攜程應(yīng)該也是用的這種方式。
怎么判斷有沒有搶到票呢?
根據(jù)網(wǎng)友的這個問題現(xiàn)象,我猜攜程大概率是不斷的刷新訂單頁面,如果發(fā)現(xiàn)有對應(yīng)車次的訂單,就認(rèn)為已經(jīng)下單成功,然后扣掉用戶的款項,通知用戶搶票成功。
這是一種簡單的方式,也比較節(jié)省資源,不用一直保持連接或者輪詢,但是就很容易出現(xiàn)網(wǎng)友遇到的這種問題。有沒有更好的方式呢?當(dāng)然有。
大家如果使用bypass這個工具搶票,可能會注意到它在提交訂單后會在日志中顯示正在排隊,并一直等待12306的返回結(jié)果,要么下單成功,要么給出下單失敗的原因,這是和我們在12306上搶票的體驗一致的。猜測bypass應(yīng)該是模擬了12306網(wǎng)頁下單的處理方式。
這樣就不會出現(xiàn)攜程遇到的這個問題。當(dāng)然這只是一種合理的猜測,具體問題原因很難確定,也許攜程也是做了完整的模擬,只是出了點別的問題,比如恰巧機(jī)器重啟了。
加價會有效果嗎
很多搶票平臺都推出了加速搶票的功能,這真的有用嗎?
先說結(jié)論,有點用。
加了錢,平臺可能就會給你分配更多的計算資源。比如普通用戶是10個人使用同一個IP搶票,12306可能會認(rèn)為這是作弊,搶票高峰期,這個IP就可能會被封掉,加了錢可能就是5個人使用同一個IP,甚至獨占IP,這樣被封掉的概率就低了很多。IP只是一個方面,CPU、內(nèi)存、網(wǎng)絡(luò)等資源都可以劃分成不同的等級來進(jìn)行分配。
不過這個性價比就很難說了。
因為你使用免費的bypass也能達(dá)到同樣的效果。不過有時因為公司里太多人搶票,12306可能會封禁公司IP一段時間,解決這個問題也很簡單,你完全可以使用家里的電腦搶票,或者弄個便宜的云服務(wù)器,獨占資源不容易被封,也就更容易搶到票。
比如我這個阿里云搶占型實例,每個小時也就是幾分錢,一天也就是一塊多。
圖片
而攜程這種黑盒的模式,你完全不知道它使用了多少資源來給你搶票,也許是10秒才給你請求一次,而且攜程可以分配的機(jī)器和IP數(shù)量總歸有限,放票的時候12306看過來的請求太多了,很可能就會把它封掉,從而錯過了最佳搶票時機(jī)。后邊搶到了票呢,就純屬巧合。對于搶票平臺呢,在大用戶基數(shù)的情況下,總會有很多用戶搶到票,從而賺取一大票代理費,可以說穩(wěn)賺不賠。
當(dāng)然對于回家過年來說,多一種渠道總是好的,只是希望大家不要錯付了期待。
怎么解決這個問題
如果已經(jīng)在12306付款成功,銀行流水或者支付平臺顯示的收款方就是12306,那么這就是你自己在12306購票成功了,其它人和平臺都不會再買到同一車次的同一張票,也不會支付成功。
所以這時候就要去找搶票平臺,說明你遇到的情況,讓他們?nèi)ゴ_認(rèn)是否真的向12306支付了這筆款項,讓他們退款。搶票平臺內(nèi)部也會有完整的支付日志的,付沒付,一查便知。
還有極少數(shù)的網(wǎng)友遇到12306多次扣款的情況,這個處理起來也不難,給12306打電話,提供你的付款單號和車次,讓12306去調(diào)查,都能查清楚的,金錢交易都有極為嚴(yán)格的日志記錄。
以上就是本文的主要內(nèi)容。
當(dāng)年華如梭,又是一年歸家的時節(jié)??谡值拿撊シ路鹫咽局鴷r代的變遷,我們又能自由地呼吸家鄉(xiāng)的空氣?;疖嚻钡囊患堓p描,背后承載著無數(shù)游子的急切與期待,它們?nèi)缤瑲w巢的燕子,在寒風(fēng)中追逐著溫暖的春光。
遙想十幾年前的春節(jié),我站在售票點外的寒風(fēng)中瑟瑟發(fā)抖,也只搶到一紙站票,技術(shù)的便捷讓我們搶票更佳方便,只是我們好像永遠(yuǎn)無法走出沒票的困境。
但愿在這個春運的浪潮中,每一位旅人都能順利抵達(dá)心之所向。愿每一次的技術(shù)進(jìn)步,都能為人們帶來更多的便利與溫馨,而非困擾與迷茫。愿我們都能在這個溫情融融的節(jié)日里,收獲平安喜樂,團(tuán)圓美滿。