.
搜索
相關推薦
熱門標簽

杭州app開發:銀行搶單、火車票搶票App怎么開發?

時間:2020-01-17 11:46:28

對于搶單、搶票大家都不陌生,因為大家都用過,智行、高鐵管家都是這一類的代表,就在春節將至,github上開源的火車搶票App也著實火了一把。

坊間有這樣的傳聞,12306加大了搶票軟件的打擊力度!可以說定點實現了許多軟件無效化,為此,如果你是個懂代碼的Boy,那么在github上用這個開源代碼為自己搶票,反而能夠出奇制勝,因為你是單個人搶票,不會被封IP,有些人只花了一點時間就為自己搶到了一份寶貴的回家票券。

為什么要開發搶單App?

大家都要工作,總不能每天盯著12306官方軟件去搶吧,這樣子反而會影響工作進度,那么為了專心工作的你,可能春節都買不到回家的票,這才是最悲催的!為此就得使用上這些高科技。

有哪些防止搶單的手段?

既然要做這么一款App,就得知己知彼百戰不殆,目前市面上會有許多反爬策略,反抓取接口分析的策略,那么我們不妨來了解下,現在有哪些技術手段可以限制住我們。

1)有些App會禁止使用代理打開,如果你開了代理,那么進去就是一片空白的界面。這種情況,完全就是不讓你抓包,通過抓包分析協議,可以最快速的實現搶單票的手段。當然了,如果遇上銀行級的App,我勸你還是放棄,因為所有的通信數據,都將會進行一道加密,沒有秘鑰是無法破解的。

2)還有些App會防止Root模式下打開,通過手機Root,可以獲得許多系統級別的權限,為此也方便了我們研究搶單軟件的開發,這一招實在是高!

3)從服務器上著手,進行接口上的請求速率限制。如果檢測到你接口請求頻繁,就斷定認為你非人工操作。

4)IP黑名單,目前有許多大企業都會獲取到國內一些云服務器商的IP段,進行限制。你如果要搶單總不能拿國外的服務器來使用,這樣子網絡延遲就讓你錯失好幾單了。

知道了這些手段,那么我們也分分鐘鐘可以研究出各種對策,所謂道高一尺魔高一丈!

我們該怎么開發一款搶單App?

要實現搶單,有兩種手段,一種是分析協議;另一種是自動化。分析協議我就不多說了,好處多多,但是對于大企業是沒效果的。我們還是從自動化這一點著手,由于自動化是高仿真模擬人類去操作App,這樣子的方式就是一個萬金油的解決方案。

1.Appnium:這是一個熱門的框架,有著高活躍度的開源社區,更新速度很快,前些日子更新了1.16版,許多人都非常喜歡使用它,那是因為它底層和Selenium相似的用法,降低了學習成本。測試人員可以通過RobotFramework來了解它,可以很快的上手。

說下它的原理:在電腦端建立server,通過http方式發送命令,調用adb、uiautomater接口等方式操作App。知道了原理,那么你一定會思考和關心它的運行效率,不得不說,它會存在一些缺點,首先http請求的方式會有延遲;其次是http命令存在覆蓋的問題,如果多個命令并發發出的情況下,在App上只可能執行其中一個,其他幾個命令則會被覆蓋或丟失,這相當致命;最后Appnium底層基于nodeJs,存在內存泄露等問題,時間久了會直接崩掉。怎么解決這個問題?網上分析指出,通過調大nodejs的內存大小,可以緩解這一問題,但是治標不治本。這款工具在windows上執行exe,時間久了也會自動崩掉??傊?,它仍然是一款適合開發測試人員使用的工具,在黑盒方面他有著獨特的天然優勢,尤其是跨平臺、跨App以及跨語言。

2.AutoJs:是一款非常棒的開源腳本語言,它基于javascript,優點顯而易見:受眾群體非凡。前端工程師是目前互聯網行業中群體最廣泛、最被大公司所喜愛的職業。阿里、騰訊這樣的大公司都非常喜歡Js。它的原理是基于安卓的輔助服務AccessibilityService,顯然這個方案不適用于IOS。不過它可以離線自動化,在手機上安裝apk,然后拔掉USB也可以繼續運行,這顯得它十分小巧,討人喜歡。

3.uiautomator1+2:目前版本已經到第二代了,第一代由于原理原因直接被廢棄,第二代開始采用安卓項目的方式來運行,可以打包成apk,好處多多。2代基于 Instrumentation,可以獲取應用Context,使用 Android服務及接口,效率大幅度提升。畢竟是谷歌自家開發的,如果從性能角度考慮,肯定是最佳選擇,不過它這門語言開發出來似乎對安卓開發人員更友好,當然,它也可以通過python的方式進行調用。適用于黑盒測試,可跨應用。

4.ESpresso:它來自谷歌最新發布的一款自動化測試工具,小編認為它的出現,無疑是和uiautomator產生了沖突,既然它誕生了,就有它存在的道理。ESpresso只能通過安卓代碼來實現,和uiautomator2一樣搭建Junit就可以快速運行,它更適合于白盒測試,由于設計上通過事件驅動,在性能方面遠遠超出其他自動化框架。雖然小編試圖使用它來實現一個黑盒測試的工具,不過目前沒有找到很好的方法來達到這一目的。

5.更多:自動化測試工具實在是太多,不過你總能找到一款屬于你的。小編自己整理了差不多20個自動化框架,它們有些在國外很熱門,在國內卻很少被人提及。只要掌握了這些工具,就能夠為我們的自動搶單App軟件賦能。創造價值。

久久久精品2019免费观看